diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/9.1_plus/dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependencies.sql
similarity index 50%
rename from web/pgadmin/browser/server_groups/servers/templates/depends/sql/9.1_plus/dependencies.sql
rename to web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependencies.sql
index 6600f2db7..33b7d2acc 100644
--- a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/9.1_plus/dependencies.sql
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependencies.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependents.sql
new file mode 100644
index 000000000..0b85a3759
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/dependents.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/default/role_dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/role_dependencies.sql
similarity index 100%
rename from web/pgadmin/browser/server_groups/servers/templates/depends/sql/default/role_dependencies.sql
rename to web/pgadmin/browser/server_groups/servers/templates/depends/gpdb/5_plus/role_dependencies.sql
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/pg/11_plus/dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/11_plus/dependencies.sql
new file mode 100644
index 000000000..d1ff693a9
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/11_plus/dependencies.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/pg/11_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/11_plus/dependents.sql
new file mode 100644
index 000000000..6f2e48288
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/11_plus/dependents.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/pg/12_plus/dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/12_plus/dependencies.sql
new file mode 100644
index 000000000..66363dd61
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/12_plus/dependencies.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/pg/12_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/12_plus/dependents.sql
new file mode 100644
index 000000000..ef76c885d
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/12_plus/dependents.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/12_plus/dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.1_plus/dependencies.sql
similarity index 50%
rename from web/pgadmin/browser/server_groups/servers/templates/depends/sql/12_plus/dependencies.sql
rename to web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.1_plus/dependencies.sql
index 1490d6830..33b7d2acc 100644
--- a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/12_plus/dependencies.sql
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.1_plus/dependencies.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.1_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.1_plus/dependents.sql
new file mode 100644
index 000000000..0b85a3759
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.1_plus/dependents.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.1_plus/role_dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.1_plus/role_dependencies.sql
new file mode 100644
index 000000000..25fc3f850
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.1_plus/role_dependencies.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.5_plus/dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.5_plus/dependencies.sql
new file mode 100644
index 000000000..74ea9efac
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.5_plus/dependencies.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.5_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.5_plus/dependents.sql
new file mode 100644
index 000000000..7ee93100d
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/pg/9.5_plus/dependents.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/11_plus/dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/11_plus/dependencies.sql
new file mode 100644
index 000000000..4652129e8
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/11_plus/dependencies.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/11_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/11_plus/dependents.sql
new file mode 100644
index 000000000..b6e368731
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/11_plus/dependents.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/12_plus/dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/12_plus/dependencies.sql
new file mode 100644
index 000000000..1798a4bf4
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/12_plus/dependencies.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/12_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/12_plus/dependents.sql
new file mode 100644
index 000000000..c6781827f
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/12_plus/dependents.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.1_plus/dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.1_plus/dependencies.sql
new file mode 100644
index 000000000..fd0b5622c
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.1_plus/dependencies.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.1_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.1_plus/dependents.sql
new file mode 100644
index 000000000..97f299e0f
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.1_plus/dependents.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.1_plus/role_dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.1_plus/role_dependencies.sql
new file mode 100644
index 000000000..25fc3f850
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.1_plus/role_dependencies.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.5_plus/dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.5_plus/dependencies.sql
new file mode 100644
index 000000000..cd0fc7703
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.5_plus/dependencies.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.5_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.5_plus/dependents.sql
new file mode 100644
index 000000000..0ebf57100
--- /dev/null
+++ b/web/pgadmin/browser/server_groups/servers/templates/depends/ppas/9.5_plus/dependents.sql
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/12_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/sql/12_plus/dependents.sql
deleted file mode 100644
index 2640cd215..000000000
--- a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/12_plus/dependents.sql
+++ /dev/null
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/9.1_plus/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/sql/9.1_plus/dependents.sql
deleted file mode 100644
index a687c0ee8..000000000
--- a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/9.1_plus/dependents.sql
+++ /dev/null
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/default/dependencies.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/sql/default/dependencies.sql
deleted file mode 100644
index 8a816ca6d..000000000
--- a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/default/dependencies.sql
+++ /dev/null
@@ -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
diff --git a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/default/dependents.sql b/web/pgadmin/browser/server_groups/servers/templates/depends/sql/default/dependents.sql
deleted file mode 100644
index f8a1bee3c..000000000
--- a/web/pgadmin/browser/server_groups/servers/templates/depends/sql/default/dependents.sql
+++ /dev/null
@@ -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;
diff --git a/web/pgadmin/browser/server_groups/servers/tests/test_dependencies_sql.py b/web/pgadmin/browser/server_groups/servers/tests/test_dependencies_sql.py
index 0e48ab3d4..03460c4ef 100644
--- a/web/pgadmin/browser/server_groups/servers/tests/test_dependencies_sql.py
+++ b/web/pgadmin/browser/server_groups/servers/tests/test_dependencies_sql.py
@@ -32,7 +32,7 @@ class TestDependenciesSql(SQLTemplateTestBase):
 
     def generate_sql(self, version):
         file_path = os.path.join(os.path.dirname(__file__), "..", "templates",
-                                 "depends", "sql")
+                                 "depends", self.server['type'])
         template_file = self.get_template_file(version, file_path,
                                                "dependencies.sql")
         template = file_as_template(template_file)
diff --git a/web/pgadmin/browser/server_groups/servers/tests/test_dependents_sql.py b/web/pgadmin/browser/server_groups/servers/tests/test_dependents_sql.py
index 1bb0e0052..f001d79be 100644
--- a/web/pgadmin/browser/server_groups/servers/tests/test_dependents_sql.py
+++ b/web/pgadmin/browser/server_groups/servers/tests/test_dependents_sql.py
@@ -32,7 +32,7 @@ class TestDependentsSql(SQLTemplateTestBase):
 
     def generate_sql(self, version):
         file_path = os.path.join(os.path.dirname(__file__), "..", "templates",
-                                 "depends", "sql")
+                                 "depends", self.server['type'])
         template_file = self.get_template_file(version, file_path,
                                                "dependents.sql")
         template = file_as_template(template_file)
diff --git a/web/pgadmin/browser/server_groups/servers/tests/test_role_dependencies_sql.py b/web/pgadmin/browser/server_groups/servers/tests/test_role_dependencies_sql.py
index 4c5dacb95..ce92b744b 100644
--- a/web/pgadmin/browser/server_groups/servers/tests/test_role_dependencies_sql.py
+++ b/web/pgadmin/browser/server_groups/servers/tests/test_role_dependencies_sql.py
@@ -8,12 +8,13 @@
 ##########################################################################
 import os
 
-from pgadmin.utils.route import BaseTestGenerator
 from regression.python_test_utils import test_utils
 from regression.python_test_utils.template_helper import file_as_template
+from regression.python_test_utils.sql_template_test_base import \
+    SQLTemplateTestBase
 
 
-class TestRoleDependenciesSql(BaseTestGenerator):
+class TestRoleDependenciesSql(SQLTemplateTestBase):
     scenarios = [
         # Fetching default URL for schema node.
         ('Test Role Dependencies SQL file', dict())
@@ -50,7 +51,7 @@ class TestRoleDependenciesSql(BaseTestGenerator):
                            "WHERE pg_class.relname='test_new_role_table'")
             self.table_id = cursor.fetchone()[0]
 
-            sql = self.generate_sql('default')
+            sql = self.generate_sql(connection.server_version)
             cursor.execute(sql)
 
             fetch_result = cursor.fetchall()
@@ -63,7 +64,9 @@ class TestRoleDependenciesSql(BaseTestGenerator):
             connection.commit()
 
     def generate_sql(self, version):
-        template_file = self.get_template_file(version,
+        file_path = os.path.join(os.path.dirname(__file__), "..", "templates",
+                                 "depends", self.server['type'])
+        template_file = self.get_template_file(version, file_path,
                                                "role_dependencies.sql")
         template = file_as_template(template_file)
         sql = template.render(
@@ -79,8 +82,3 @@ class TestRoleDependenciesSql(BaseTestGenerator):
             first_row[description.name] = fetch_result[0][index]
 
         self.assertEqual('o', first_row["deptype"])
-
-    @staticmethod
-    def get_template_file(version, filename):
-        return os.path.join(os.path.dirname(__file__), "..", "templates",
-                            "depends", "sql", version, filename)
diff --git a/web/pgadmin/browser/utils.py b/web/pgadmin/browser/utils.py
index 208f13275..b1ca2ebf2 100644
--- a/web/pgadmin/browser/utils.py
+++ b/web/pgadmin/browser/utils.py
@@ -446,7 +446,8 @@ class PGChildNodeView(NodeView):
         """
 
         # Set the sql_path
-        sql_path = 'depends/sql/#{0}#'.format(conn.manager.version)
+        sql_path = 'depends/{0}/#{1}#'.format(
+            conn.manager.server_type, conn.manager.version)
 
         if where is None:
             where_clause = "WHERE dep.objid={0}::oid".format(object_id)
@@ -500,7 +501,8 @@ class PGChildNodeView(NodeView):
         Returns: Dictionary of dependents for the selected node.
         """
         # Set the sql_path
-        sql_path = 'depends/sql/#{0}#'.format(conn.manager.version)
+        sql_path = 'depends/{0}/#{1}#'.format(
+            conn.manager.server_type, conn.manager.version)
 
         if where is None:
             where_clause = "WHERE dep.refobjid={0}::oid".format(object_id)
@@ -525,29 +527,38 @@ class PGChildNodeView(NodeView):
         Returns: Dictionary of dependency for the selected node.
         """
 
-        # Dictionary for the object types
-        types = {
-            # None specified special handling for this type
+        standard_types = {
             'r': None,
             'i': 'index',
             'S': 'sequence',
             'v': 'view',
-            'x': 'external_table',
-            'p': 'partition',
-            'P': 'function',
-            'n': 'schema',
-            'y': 'type',
-            'd': 'domain',
-            't': 'trigger_function',
-            'T': 'trigger',
-            'l': 'language',
-            'f': 'foreign_data_wrapper',
-            'F': 'foreign_server',
-            'R': None,
-            'C': None,
+            'p': 'partition_table',
+            'f': 'foreign_table',
+            'm': 'materialized_view',
+            't': 'toast_table',
+            'I': 'partition_index'
+        }
+
+        # Dictionary for the object types
+        custom_types = {
+            'x': 'external_table', 'n': 'schema', 'd': 'domain',
+            'l': 'language', 'Cc': 'check', 'Cd': 'domain_constraints',
+            'Cf': 'foreign_key', 'Cp': 'primary_key', 'Co': 'collation',
+            'Cu': 'unique_constraint', 'Cx': 'exclusion_constraint',
+            'Fw': 'foreign_data_wrapper', 'Fs': 'foreign_server',
+            'Fc': 'fts_configuration', 'Fp': 'fts_parser',
+            'Fd': 'fts_dictionary', 'Ft': 'fts_template',
+            'Ex': 'extension', 'Et': 'event_trigger', 'Pa': 'package',
+            'Pf': 'function', 'Pt': 'trigger_function', 'Pp': 'procedure',
+            'Rl': 'rule', 'Rs': 'row_security_policy', 'Sy': 'synonym',
+            'Ty': 'type', 'Tr': 'trigger', 'Tc': 'compound_trigger',
+            # None specified special handling for this type
             'A': None
         }
 
+        # Merging above two dictionaries
+        types = {**standard_types, **custom_types}
+
         # Dictionary for the restrictions
         dep_types = {
             # None specified special handling for this type
@@ -579,61 +590,50 @@ class PGChildNodeView(NodeView):
             # Fetch the type name from the dictionary
             # if type is not present in the types dictionary then
             # we will continue and not going to add it.
-            if len(type_str) and type_str[0] in types:
-
+            if len(type_str) and type_str in types and \
+                    types[type_str] is not None:
+                type_name = types[type_str]
+                if type_str == 'Rl':
+                    ref_name = \
+                        _ref_name + ' ON ' + ref_name + row['ownertable']
+                    _ref_name = None
+                elif type_str == 'Cf':
+                    ref_name += row['ownertable'] + '.'
+                elif type_str == 'm':
+                    icon = 'icon-mview'
+            elif len(type_str) and type_str[0] in types and \
+                    types[type_str[0]] is None:
                 # if type is present in the types dictionary, but it's
                 # value is None then it requires special handling.
-                if types[type_str[0]] is None:
-                    if type_str[0] == 'r':
-                        if int(type_str[1]) > 0:
-                            type_name = 'column'
-                        else:
-                            type_name = 'table'
-                            if 'is_inherits' in row \
-                                    and row['is_inherits'] == '1':
-                                if 'is_inherited' in row \
-                                        and row['is_inherited'] == '1':
-                                    icon = 'icon-table-multi-inherit'
-                                # For tables under partitioned tables,
-                                # is_inherits will be true and dependency
-                                # will be auto as it inherits from parent
-                                # partitioned table
-                                elif ('is_inherited' in row and
-                                      row['is_inherited'] == '0')\
-                                        and dep_str == 'a':
-                                    type_name = 'partition'
-                                else:
-                                    icon = 'icon-table-inherits'
-                            elif 'is_inherited' in row \
-                                    and row['is_inherited'] == '1':
-                                icon = 'icon-table-inherited'
-
-                    elif type_str[0] == 'R':
-                        type_name = 'rule'
-                        ref_name = \
-                            _ref_name + ' ON ' + ref_name + row['ownertable']
-                        _ref_name = None
-                    elif type_str[0] == 'C':
-                        if type_str[1] == 'c':
-                            type_name = 'check'
-                        elif type_str[1] == 'f':
-                            type_name = 'foreign_key'
-                            ref_name += row['ownertable'] + '.'
-                        elif type_str[1] == 'p':
-                            type_name = 'primary_key'
-                        elif type_str[1] == 'u':
-                            type_name = 'unique_constraint'
-                        elif type_str[1] == 'x':
-                            type_name = 'exclusion_constraint'
-                    elif type_str[0] == 'A':
-                        # Include only functions
-                        if row['adbin'].startswith('{FUNCEXPR'):
-                            type_name = 'function'
-                            ref_name = row['adsrc']
-                        else:
-                            continue
-                else:
-                    type_name = types[type_str[0]]
+                if type_str[0] == 'r':
+                    if int(type_str[1]) > 0:
+                        type_name = 'column'
+                    else:
+                        type_name = 'table'
+                        if 'is_inherits' in row and row['is_inherits'] == '1':
+                            if 'is_inherited' in row and \
+                                    row['is_inherited'] == '1':
+                                icon = 'icon-table-multi-inherit'
+                            # For tables under partitioned tables,
+                            # is_inherits will be true and dependency
+                            # will be auto as it inherits from parent
+                            # partitioned table
+                            elif ('is_inherited' in row and
+                                  row['is_inherited'] == '0') and \
+                                    dep_str == 'a':
+                                type_name = 'partition'
+                            else:
+                                icon = 'icon-table-inherits'
+                        elif 'is_inherited' in row and \
+                                row['is_inherited'] == '1':
+                            icon = 'icon-table-inherited'
+                elif type_str[0] == 'A':
+                    # Include only functions
+                    if row['adbin'].startswith('{FUNCEXPR'):
+                        type_name = 'function'
+                        ref_name = row['adsrc']
+                    else:
+                        continue
             else:
                 continue
 
@@ -644,7 +644,6 @@ class PGChildNodeView(NodeView):
             if show_system_objects is None:
                 show_system_objects = self.blueprint.show_system_objects
             if dep_str[0] in dep_types:
-
                 # if dep_type is present in the dep_types dictionary, but it's
                 # value is None then it requires special handling.
                 if dep_types[dep_str[0]] is None:
