mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Added missing dependencies/dependent and corrected some wrongly identified. Fixes #5666
This commit is contained in:
@@ -1,24 +1,33 @@
|
||||
SELECT DISTINCT dep.deptype, dep.refclassid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN cl.relkind || COALESCE(dep.refobjsubid::character varying, '')
|
||||
WHEN tg.oid IS NOT NULL THEN 'T'::text
|
||||
WHEN ty.oid IS NOT NULL AND ty.typbasetype = 0 THEN 'y'::text
|
||||
WHEN ty.oid IS NOT NULL AND ty.typbasetype != 0 THEN 'd'::text
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.refobjsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND prtyp.typname = 'trigger' THEN 't'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'P'::text
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'Pf'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'R'::text
|
||||
WHEN co.oid IS NOT NULL THEN 'C'::text || contype
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'F'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'f'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname, fs.srvname, fdw.fdwname)
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname) AS nspname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
@@ -44,8 +53,21 @@ LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.refobjid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.refobjid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.refobjid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.refobjid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.refobjid
|
||||
{{where_clause}} AND
|
||||
refclassid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper'))
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension'))
|
||||
ORDER BY refclassid, cl.relkind
|
||||
@@ -0,0 +1,73 @@
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.objsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'Pf'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.objid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.objid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.objid
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension'))
|
||||
ORDER BY classid, cl.relkind
|
||||
@@ -0,0 +1,75 @@
|
||||
SELECT DISTINCT dep.deptype, dep.refclassid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.refobjsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN CASE WHEN pr.prokind = 'p' THEN 'Pp'::text ELSE 'Pf'::text END
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.refobjid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.refobjid=att.attrelid AND dep.refobjsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.refobjid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.refobjid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.refobjid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.refobjid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.refobjid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.refobjid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.refobjid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.adrelid=att.attrelid AND ad.adnum=att.attnum
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.refobjid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.refobjid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.refobjid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.refobjid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.refobjid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.refobjid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.refobjid
|
||||
{{where_clause}} AND
|
||||
refclassid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension', 'pg_policy'))
|
||||
ORDER BY refclassid, cl.relkind
|
||||
@@ -0,0 +1,75 @@
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.objsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN CASE WHEN pr.prokind = 'p' THEN 'Pp'::text ELSE 'Pf'::text END
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.objid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.objid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.objid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.objid
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension', 'pg_policy'))
|
||||
ORDER BY classid, cl.relkind
|
||||
@@ -0,0 +1,75 @@
|
||||
SELECT DISTINCT dep.deptype, dep.refclassid, cl.relkind, ad.adbin, pg_get_expr(ad.adbin, ad.adrelid) as adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.refobjsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN CASE WHEN pr.prokind = 'p' THEN 'Pp'::text ELSE 'Pf'::text END
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.refobjid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.refobjid=att.attrelid AND dep.refobjsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.refobjid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.refobjid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.refobjid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.refobjid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.refobjid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.refobjid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.refobjid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.adrelid=att.attrelid AND ad.adnum=att.attnum
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.refobjid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.refobjid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.refobjid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.refobjid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.refobjid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.refobjid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.refobjid
|
||||
{{where_clause}} AND
|
||||
refclassid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension', 'pg_policy'))
|
||||
ORDER BY refclassid, cl.relkind
|
||||
@@ -0,0 +1,75 @@
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, pg_get_expr(ad.adbin, ad.adrelid) as adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.objsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN CASE WHEN pr.prokind = 'p' THEN 'Pp'::text ELSE 'Pf'::text END
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.objid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.objid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.objid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.objid
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension', 'pg_policy'))
|
||||
ORDER BY classid, cl.relkind
|
||||
@@ -1,24 +1,33 @@
|
||||
SELECT DISTINCT dep.deptype, dep.refclassid, cl.relkind, ad.adbin, pg_get_expr(ad.adbin, ad.adrelid) as adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN cl.relkind || COALESCE(dep.refobjsubid::character varying, '')
|
||||
WHEN tg.oid IS NOT NULL THEN 'T'::text
|
||||
WHEN ty.oid IS NOT NULL AND ty.typbasetype = 0 THEN 'y'::text
|
||||
WHEN ty.oid IS NOT NULL AND ty.typbasetype != 0 THEN 'd'::text
|
||||
SELECT DISTINCT dep.deptype, dep.refclassid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.refobjsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND prtyp.typname = 'trigger' THEN 't'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'P'::text
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'Pf'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'R'::text
|
||||
WHEN co.oid IS NOT NULL THEN 'C'::text || contype
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'F'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'f'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname, fs.srvname, fdw.fdwname)
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname) AS nspname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
@@ -44,8 +53,21 @@ LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.refobjid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.refobjid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.refobjid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.refobjid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.refobjid
|
||||
{{where_clause}} AND
|
||||
refclassid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper'))
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension'))
|
||||
ORDER BY refclassid, cl.relkind
|
||||
@@ -0,0 +1,73 @@
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.objsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'Pf'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.objid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.objid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.objid
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension'))
|
||||
ORDER BY classid, cl.relkind
|
||||
@@ -0,0 +1,4 @@
|
||||
SELECT rolname AS refname, refclassid, deptype
|
||||
FROM pg_shdepend dep
|
||||
LEFT JOIN pg_roles r ON refclassid=1260 AND refobjid=r.oid
|
||||
{{where_clause}} ORDER BY 1
|
||||
@@ -0,0 +1,75 @@
|
||||
SELECT DISTINCT dep.deptype, dep.refclassid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.refobjsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'Pf'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.refobjid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.refobjid=att.attrelid AND dep.refobjsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.refobjid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.refobjid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.refobjid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.refobjid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.refobjid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.refobjid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.refobjid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.adrelid=att.attrelid AND ad.adnum=att.attnum
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.refobjid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.refobjid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.refobjid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.refobjid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.refobjid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.refobjid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.refobjid
|
||||
{{where_clause}} AND
|
||||
refclassid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension', 'pg_policy'))
|
||||
ORDER BY refclassid, cl.relkind
|
||||
@@ -0,0 +1,75 @@
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.objsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'Pf'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.objid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.objid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.objid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.objid
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension', 'pg_policy'))
|
||||
ORDER BY classid, cl.relkind
|
||||
@@ -0,0 +1,79 @@
|
||||
SELECT DISTINCT dep.deptype, dep.refclassid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.refobjsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN CASE WHEN ns.nspparent != 0 THEN 'Pa'::text ELSE 'n'::text END
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN CASE WHEN pr.prokind = 'p' THEN 'Pp'::text ELSE 'Pf'::text END
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN syn.oid IS NOT NULL THEN 'Sy'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, syn.synname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname, synns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.refobjid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.refobjid=att.attrelid AND dep.refobjsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.refobjid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.refobjid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.refobjid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.refobjid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.refobjid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.refobjid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.refobjid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.adrelid=att.attrelid AND ad.adnum=att.attnum
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.refobjid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.refobjid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.refobjid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.refobjid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.refobjid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.refobjid
|
||||
LEFT JOIN pg_synonym syn ON syn.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace synns ON syn.synnamespace=synns.oid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.refobjid
|
||||
{{where_clause}} AND
|
||||
refclassid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension',
|
||||
'pg_synonym', 'pg_policy'))
|
||||
ORDER BY refclassid, cl.relkind
|
||||
@@ -0,0 +1,79 @@
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.objsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN CASE WHEN ns.nspparent != 0 THEN 'Pa'::text ELSE 'n'::text END
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN CASE WHEN pr.prokind = 'p' THEN 'Pp'::text ELSE 'Pf'::text END
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN syn.oid IS NOT NULL THEN 'Sy'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, syn.synname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname, synns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.objid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.objid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.objid
|
||||
LEFT JOIN pg_synonym syn ON syn.oid=dep.objid
|
||||
LEFT JOIN pg_namespace synns ON syn.synnamespace=synns.oid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.objid
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension',
|
||||
'pg_synonym', 'pg_policy'))
|
||||
ORDER BY classid, cl.relkind
|
||||
@@ -0,0 +1,79 @@
|
||||
SELECT DISTINCT dep.deptype, dep.refclassid, cl.relkind, ad.adbin, pg_get_expr(ad.adbin, ad.adrelid) as adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.refobjsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN CASE WHEN tg.tgpackageoid != 0 THEN 'Tc'::text ELSE 'Tr'::text END
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN CASE WHEN ns.nspparent != 0 AND ns.nspcompoundtrigger = false THEN 'Pa'::text ELSE 'n'::text END
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN CASE WHEN pr.prokind = 'p' THEN 'Pp'::text ELSE 'Pf'::text END
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN syn.oid IS NOT NULL THEN 'Sy'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, syn.synname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname, synns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.refobjid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.refobjid=att.attrelid AND dep.refobjsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.refobjid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.refobjid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.refobjid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.refobjid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.refobjid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.refobjid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.refobjid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.adrelid=att.attrelid AND ad.adnum=att.attnum
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.refobjid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.refobjid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.refobjid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.refobjid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.refobjid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.refobjid
|
||||
LEFT JOIN pg_synonym syn ON syn.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace synns ON syn.synnamespace=synns.oid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.refobjid
|
||||
{{where_clause}} AND
|
||||
refclassid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension',
|
||||
'pg_synonym', 'pg_policy'))
|
||||
ORDER BY refclassid, cl.relkind
|
||||
@@ -0,0 +1,79 @@
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, pg_get_expr(ad.adbin, ad.adrelid) as adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.objsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN CASE WHEN tg.tgpackageoid != 0 THEN 'Tc'::text ELSE 'Tr'::text END
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN CASE WHEN ns.nspparent != 0 AND ns.nspcompoundtrigger = false THEN 'Pa'::text ELSE 'n'::text END
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN CASE WHEN pr.prokind = 'p' THEN 'Pp'::text ELSE 'Pf'::text END
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN syn.oid IS NOT NULL THEN 'Sy'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, syn.synname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname, synns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.objid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.objid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.objid
|
||||
LEFT JOIN pg_synonym syn ON syn.oid=dep.objid
|
||||
LEFT JOIN pg_namespace synns ON syn.synnamespace=synns.oid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.objid
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension',
|
||||
'pg_synonym', 'pg_policy'))
|
||||
ORDER BY classid, cl.relkind
|
||||
@@ -0,0 +1,77 @@
|
||||
SELECT DISTINCT dep.deptype, dep.refclassid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.refobjsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN CASE WHEN ns.nspparent != 0 THEN 'Pa'::text ELSE 'n'::text END
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'Pf'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN syn.oid IS NOT NULL THEN 'Sy'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, syn.synname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname, synns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.refobjid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.refobjid=att.attrelid AND dep.refobjsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.refobjid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.refobjid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.refobjid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.refobjid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.refobjid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.refobjid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.refobjid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.adrelid=att.attrelid AND ad.adnum=att.attnum
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.refobjid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.refobjid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.refobjid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.refobjid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.refobjid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.refobjid
|
||||
LEFT JOIN pg_synonym syn ON syn.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace synns ON syn.synnamespace=synns.oid
|
||||
{{where_clause}} AND
|
||||
refclassid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension',
|
||||
'pg_synonym'))
|
||||
ORDER BY refclassid, cl.relkind
|
||||
@@ -0,0 +1,77 @@
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.objsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN CASE WHEN ns.nspparent != 0 THEN 'Pa'::text ELSE 'n'::text END
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'Pf'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN syn.oid IS NOT NULL THEN 'Sy'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, syn.synname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname, synns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.objid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.objid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.objid
|
||||
LEFT JOIN pg_synonym syn ON syn.oid=dep.objid
|
||||
LEFT JOIN pg_namespace synns ON syn.synnamespace=synns.oid
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension',
|
||||
'pg_synonym'))
|
||||
ORDER BY classid, cl.relkind
|
||||
@@ -0,0 +1,4 @@
|
||||
SELECT rolname AS refname, refclassid, deptype
|
||||
FROM pg_shdepend dep
|
||||
LEFT JOIN pg_roles r ON refclassid=1260 AND refobjid=r.oid
|
||||
{{where_clause}} ORDER BY 1
|
||||
@@ -0,0 +1,79 @@
|
||||
SELECT DISTINCT dep.deptype, dep.refclassid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.refobjsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN CASE WHEN ns.nspparent != 0 THEN 'Pa'::text ELSE 'n'::text END
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'Pf'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN syn.oid IS NOT NULL THEN 'Sy'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, syn.synname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname, synns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.refobjid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.refobjid=att.attrelid AND dep.refobjsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.refobjid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.refobjid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.refobjid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.refobjid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.refobjid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.refobjid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.refobjid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.adrelid=att.attrelid AND ad.adnum=att.attnum
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.refobjid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.refobjid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.refobjid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.refobjid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.refobjid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.refobjid
|
||||
LEFT JOIN pg_synonym syn ON syn.oid=dep.refobjid
|
||||
LEFT JOIN pg_namespace synns ON syn.synnamespace=synns.oid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.refobjid
|
||||
{{where_clause}} AND
|
||||
refclassid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension',
|
||||
'pg_synonym', 'pg_policy'))
|
||||
ORDER BY refclassid, cl.relkind
|
||||
@@ -0,0 +1,79 @@
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN CASE WHEN cl.relkind = 'r' THEN cl.relkind || COALESCE(dep.objsubid::text, '') ELSE cl.relkind END
|
||||
WHEN tg.oid IS NOT NULL THEN 'Tr'::text
|
||||
WHEN ty.oid IS NOT NULL THEN CASE WHEN ty.typtype = 'd' THEN 'd'::text ELSE 'Ty'::text END
|
||||
WHEN ns.oid IS NOT NULL THEN CASE WHEN ns.nspparent != 0 THEN 'Pa'::text ELSE 'n'::text END
|
||||
WHEN pr.oid IS NOT NULL AND (prtyp.typname = 'trigger' OR prtyp.typname = 'event_trigger') THEN 'Pt'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'Pf'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'Rl'::text
|
||||
WHEN co.oid IS NOT NULL THEN CASE WHEN co.contypid > 0 THEN 'Cd' ELSE 'C'::text || contype END
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'Fs'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'Fw'::text
|
||||
WHEN evt.oid IS NOT NULL THEN 'Et'::text
|
||||
WHEN col.oid IS NOT NULL THEN 'Co'::text
|
||||
WHEN ftsc.oid IS NOT NULL THEN 'Fc'::text
|
||||
WHEN ftsp.oid IS NOT NULL THEN 'Fp'::text
|
||||
WHEN ftsd.oid IS NOT NULL THEN 'Fd'::text
|
||||
WHEN ftst.oid IS NOT NULL THEN 'Ft'::text
|
||||
WHEN ext.oid IS NOT NULL THEN 'Ex'::text
|
||||
WHEN syn.oid IS NOT NULL THEN 'Sy'::text
|
||||
WHEN pl.oid IS NOT NULL THEN 'Rs'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname,
|
||||
fs.srvname, fdw.fdwname, evt.evtname, col.collname, ftsc.cfgname, ftsd.dictname, ftsp.prsname,
|
||||
ftst.tmplname, ext.extname, syn.synname, pl.polname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname, colns.nspname, ftscns.nspname,
|
||||
ftsdns.nspname, ftspns.nspname, ftstns.nspname, synns.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
LEFT JOIN pg_event_trigger evt ON evt.oid=dep.objid
|
||||
LEFT JOIN pg_collation col ON col.oid=dep.objid
|
||||
LEFT JOIN pg_namespace colns ON col.collnamespace=colns.oid
|
||||
LEFT JOIN pg_ts_config ftsc ON ftsc.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftscns ON ftsc.cfgnamespace=ftscns.oid
|
||||
LEFT JOIN pg_ts_dict ftsd ON ftsd.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftsdns ON ftsd.dictnamespace=ftsdns.oid
|
||||
LEFT JOIN pg_ts_parser ftsp ON ftsp.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftspns ON ftsp.prsnamespace=ftspns.oid
|
||||
LEFT JOIN pg_ts_template ftst ON ftst.oid=dep.objid
|
||||
LEFT JOIN pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_extension ext ON ext.oid=dep.objid
|
||||
LEFT JOIN pg_synonym syn ON syn.oid=dep.objid
|
||||
LEFT JOIN pg_namespace synns ON syn.synnamespace=synns.oid
|
||||
LEFT JOIN pg_policy pl ON pl.oid=dep.objid
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension',
|
||||
'pg_synonym', 'pg_policy'))
|
||||
ORDER BY classid, cl.relkind
|
||||
@@ -1,50 +0,0 @@
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, pg_get_expr(ad.adbin, ad.adrelid) as adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN cl.relkind || COALESCE(dep.objsubid::text, '')
|
||||
WHEN tg.oid IS NOT NULL THEN 'T'::text
|
||||
WHEN ty.oid IS NOT NULL THEN 'y'::text
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND prtyp.typname = 'trigger' THEN 't'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'P'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'R'::text
|
||||
WHEN co.oid IS NOT NULL THEN 'C'::text || contype
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'F'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'f'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname, fs.srvname, fdw.fdwname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper'))
|
||||
ORDER BY classid, cl.relkind
|
||||
@@ -1,50 +0,0 @@
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN cl.relkind || COALESCE(dep.objsubid::text, '')
|
||||
WHEN tg.oid IS NOT NULL THEN 'T'::text
|
||||
WHEN ty.oid IS NOT NULL THEN 'y'::text
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND prtyp.typname = 'trigger' THEN 't'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'P'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'R'::text
|
||||
WHEN co.oid IS NOT NULL THEN 'C'::text || contype
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
WHEN fs.oid IS NOT NULL THEN 'F'::text
|
||||
WHEN fdw.oid IS NOT NULL THEN 'f'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname, fs.srvname, fdw.fdwname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_server fs ON fs.oid=dep.objid
|
||||
LEFT JOIN pg_foreign_data_wrapper fdw ON fdw.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper'))
|
||||
ORDER BY classid, cl.relkind
|
||||
@@ -1,48 +0,0 @@
|
||||
SET LOCAL join_collapse_limit=8;
|
||||
SELECT DISTINCT dep.deptype, dep.refclassid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN cl.relkind || COALESCE(dep.refobjsubid::character varying, '')
|
||||
WHEN tg.oid IS NOT NULL THEN 'T'::text
|
||||
WHEN ty.oid IS NOT NULL AND ty.typbasetype = 0 THEN 'y'::text
|
||||
WHEN ty.oid IS NOT NULL AND ty.typbasetype != 0 THEN 'd'::text
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND prtyp.typname = 'trigger' THEN 't'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'P'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'R'::text
|
||||
WHEN co.oid IS NOT NULL THEN 'C'::text || contype
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL OR att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.refobjid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.refobjid=att.attrelid AND dep.refobjsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.refobjid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.refobjid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.refobjid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.refobjid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.refobjid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.refobjid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.refobjid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.adrelid=att.attrelid AND ad.adnum=att.attnum
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.refobjid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.refobjid)
|
||||
{{where_clause}} AND
|
||||
refclassid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper'))
|
||||
ORDER BY refclassid, cl.relkind
|
||||
@@ -1,47 +0,0 @@
|
||||
SET LOCAL join_collapse_limit=8;
|
||||
SELECT DISTINCT dep.deptype, dep.classid, cl.relkind, ad.adbin, ad.adsrc,
|
||||
CASE WHEN cl.relkind IS NOT NULL THEN cl.relkind || COALESCE(dep.objsubid::text, '')
|
||||
WHEN tg.oid IS NOT NULL THEN 'T'::text
|
||||
WHEN ty.oid IS NOT NULL THEN 'y'::text
|
||||
WHEN ns.oid IS NOT NULL THEN 'n'::text
|
||||
WHEN pr.oid IS NOT NULL AND prtyp.typname = 'trigger' THEN 't'::text
|
||||
WHEN pr.oid IS NOT NULL THEN 'P'::text
|
||||
WHEN la.oid IS NOT NULL THEN 'l'::text
|
||||
WHEN rw.oid IS NOT NULL THEN 'R'::text
|
||||
WHEN co.oid IS NOT NULL THEN 'C'::text || contype
|
||||
WHEN ad.oid IS NOT NULL THEN 'A'::text
|
||||
ELSE ''
|
||||
END AS type,
|
||||
COALESCE(coc.relname, clrw.relname) AS ownertable,
|
||||
CASE WHEN cl.relname IS NOT NULL AND att.attname IS NOT NULL THEN cl.relname || COALESCE('.' || att.attname, '')
|
||||
ELSE COALESCE(cl.relname, co.conname, pr.proname, tg.tgname, ty.typname, la.lanname, rw.rulename, ns.nspname)
|
||||
END AS refname,
|
||||
COALESCE(nsc.nspname, nso.nspname, nsp.nspname, nst.nspname, nsrw.nspname) AS nspname,
|
||||
CASE WHEN inhits.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherits,
|
||||
CASE WHEN inhed.inhparent IS NOT NULL THEN '1' ELSE '0' END AS is_inherited
|
||||
FROM pg_depend dep
|
||||
LEFT JOIN pg_class cl ON dep.objid=cl.oid
|
||||
LEFT JOIN pg_attribute att ON dep.objid=att.attrelid AND dep.objsubid=att.attnum
|
||||
LEFT JOIN pg_namespace nsc ON cl.relnamespace=nsc.oid
|
||||
LEFT JOIN pg_proc pr ON dep.objid=pr.oid
|
||||
LEFT JOIN pg_namespace nsp ON pr.pronamespace=nsp.oid
|
||||
LEFT JOIN pg_trigger tg ON dep.objid=tg.oid
|
||||
LEFT JOIN pg_type ty ON dep.objid=ty.oid
|
||||
LEFT JOIN pg_namespace nst ON ty.typnamespace=nst.oid
|
||||
LEFT JOIN pg_constraint co ON dep.objid=co.oid
|
||||
LEFT JOIN pg_class coc ON co.conrelid=coc.oid
|
||||
LEFT JOIN pg_namespace nso ON co.connamespace=nso.oid
|
||||
LEFT JOIN pg_rewrite rw ON dep.objid=rw.oid
|
||||
LEFT JOIN pg_class clrw ON clrw.oid=rw.ev_class
|
||||
LEFT JOIN pg_namespace nsrw ON clrw.relnamespace=nsrw.oid
|
||||
LEFT JOIN pg_language la ON dep.objid=la.oid
|
||||
LEFT JOIN pg_namespace ns ON dep.objid=ns.oid
|
||||
LEFT JOIN pg_attrdef ad ON ad.oid=dep.objid
|
||||
LEFT JOIN pg_type prtyp ON prtyp.oid = pr.prorettype
|
||||
LEFT JOIN pg_inherits inhits ON (inhits.inhrelid=dep.objid)
|
||||
LEFT JOIN pg_inherits inhed ON (inhed.inhparent=dep.objid)
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper'))
|
||||
ORDER BY classid, cl.relkind;
|
||||
Reference in New Issue
Block a user