I have elaborated some useful views... - Mailing list pgsql-admin

From Martha Cecilia Ayala Hernández
Subject I have elaborated some useful views...
Date
Msg-id 38509.192.168.1.21.1109717829.squirrel@192.168.1.21
Whole thread Raw
List pgsql-admin
Hello:

I have elaborated some useful views for administration purposes:

create or replace view pga_functions as
    select
    l.lanname as language,
    n.nspname || '.' || p.proname || '(' ||
pg_catalog.oidvectortypes(p.proargtypes) || ')' as name,
    t.typname as returntype,
    '\n\n'||
    'CREATE OR REPLACE FUNCTION ' || n.nspname ||'.'|| p.proname ||'('||
pg_catalog.oidvectortypes(p.proargtypes) ||')\n'||
    '  RETURNS '||t.typname||' AS'||
    '\n''\n' ||
    (select case when lanname <> 'c' then replace(prosrc,'\'','\\\'') else
replace(prosrc,'\'','\\\'') ||'.so' end) ||
    '\n''\n' ||
    ' LANGUAGE ''' || l.lanname || ''' VOLATILE;\n'
    as source
    from pg_proc p, pg_type t, pg_namespace n, pg_language l
    where p.prorettype = t.oid and p.pronamespace = n.oid
       and p.prolang = l.oid;

create or replace view pga_columns as
    select pg_class.relname as tablename, pg_attribute.attname as columnname
    from pg_class, pg_attribute
    where pg_class.oid = pg_attribute.attrelid
    and pg_attribute.attnum >= 1
    and pg_class.relkind = 'r'
    order by pg_class.relname, pg_attribute.attnum;

create or replace view pga_objects as
    select pg_user.usename as owner, pg_class.relname as objectname, CASE
pg_class.relkind WHEN 'r' THEN 't' WHEN 'S' THEN 's' WHEN 'i' THEN 'i'
WHEN 'v' THEN 'v' END as objecttype, pg_class.relpages*8 as sizek
    from pg_class, pg_user
    where pg_class.relowner = pg_user.usesysid
    and pg_class.relkind not in ('t','s')
    order by pg_user.usename, pg_class.relkind, pg_class.relname;


I hope it can help other people


Martha Cecilia Ayala Hernández
Strategic Analysis de México, S.A.


pgsql-admin by date:

Previous
From: Marco Rademeyer
Date:
Subject: ALTER TABLE help.
Next
From: "Envbop"
Date:
Subject: Database Name