Use schema qualification while accessing the catalog objects. Fixes #3976

This commit is contained in:
Rahul Shirsat 2021-03-09 13:18:45 +05:30 committed by Akshay Joshi
parent 8cf7c41ad9
commit a2be30d257
738 changed files with 5027 additions and 5022 deletions

View File

@ -15,6 +15,7 @@ New features
Housekeeping Housekeeping
************ ************
| `Issue #3976 <https://redmine.postgresql.org/issues/3976>`_ - Use schema qualification while accessing the catalog objects.
Bug fixes Bug fixes
********* *********

View File

@ -1,14 +1,14 @@
{# FETCH CAST SOURCE TYPE AND TARGET TYPE Statement #} {# FETCH CAST SOURCE TYPE AND TARGET TYPE Statement #}
{% if cid %} {% if cid %}
SELECT SELECT
format_type(ca.castsource, null) as castsource, pg_catalog.format_type(ca.castsource, null) as castsource,
format_type(ca.casttarget, null) as casttarget pg_catalog.format_type(ca.casttarget, null) as casttarget
FROM FROM
pg_cast ca pg_catalog.pg_cast ca
WHERE WHERE
ca.oid = {{cid}}::OID; ca.oid = {{cid}}::OID;
{% endif %} {% endif %}
{# DROP CAST Statement #} {# DROP CAST Statement #}
{% if castsource and casttarget %} {% if castsource and casttarget %}
DROP CAST ({{castsource}} AS {{casttarget}}) {% if cascade %}CASCADE{%endif%}; DROP CAST ({{castsource}} AS {{casttarget}}) {% if cascade %}CASCADE{%endif%};
{% endif %} {% endif %}

View File

@ -4,14 +4,14 @@ SELECT
nspname, nspname,
proargtypes proargtypes
FROM FROM
pg_proc p JOIN pg_namespace n ON n.oid=p.pronamespace pg_catalog.pg_proc p JOIN pg_namespace n ON n.oid=p.pronamespace
WHERE WHERE
proargtypes[0] = (SELECT t.oid FROM pg_type t WHERE format_type(t.oid, NULL) = {{srctyp|qtLiteral}}) proargtypes[0] = (SELECT t.oid FROM pg_catalog.pg_type t WHERE pg_catalog.format_type(t.oid, NULL) = {{srctyp|qtLiteral}})
AND prorettype = (SELECT t.oid FROM pg_type t WHERE format_type(t.oid, NULL) = {{trgtyp|qtLiteral}}) AND prorettype = (SELECT t.oid FROM pg_catalog.pg_type t WHERE pg_catalog.format_type(t.oid, NULL) = {{trgtyp|qtLiteral}})
AND CASE AND CASE
WHEN array_length(proargtypes,1) = 2 THEN WHEN pg_catalog.array_length(proargtypes,1) = 2 THEN
proargtypes[1] = 23 proargtypes[1] = 23
WHEN array_length(proargtypes,1) >= 3 THEN WHEN pg_catalog.array_length(proargtypes,1) >= 3 THEN
proargtypes[1] = 23 AND proargtypes[2] = 16 proargtypes[1] = 23 AND proargtypes[2] = 16
ELSE TRUE ELSE TRUE
END END

View File

@ -1,8 +1,8 @@
SELECT SELECT
* *
FROM ( FROM (
SELECT SELECT
format_type(t.oid,NULL) AS typname, pg_catalog.format_type(t.oid,NULL) AS typname,
CASE CASE
WHEN typelem > 0 THEN typelem WHEN typelem > 0 THEN typelem
ELSE t.oid ELSE t.oid
@ -11,10 +11,10 @@ FROM (
typtype, typtype,
t.oid, t.oid,
nspname, nspname,
(SELECT COUNT(1) FROM pg_type t2 WHERE t2.typname = t.typname) > 1 AS isdup (SELECT COUNT(1) FROM pg_catalog.pg_type t2 WHERE t2.typname = t.typname) > 1 AS isdup
FROM FROM
pg_type t pg_catalog.pg_type t
JOIN pg_namespace nsp ON typnamespace=nsp.oid JOIN pg_catalog.pg_namespace nsp ON typnamespace=nsp.oid
WHERE WHERE
(NOT (typname = 'unknown' (NOT (typname = 'unknown'
AND nspname = 'pg_catalog')) AND nspname = 'pg_catalog'))
@ -24,7 +24,7 @@ FROM (
SELECT SELECT
1 1
FROM FROM
pg_class pg_catalog.pg_class
WHERE WHERE
relnamespace = typnamespace relnamespace = typnamespace
AND relname = typname AND relname = typname
@ -34,7 +34,7 @@ FROM (
SELECT SELECT
1 1
FROM FROM
pg_class pg_catalog.pg_class
WHERE WHERE
relnamespace = typnamespace relnamespace = typnamespace
AND relname = SUBSTRING(typname FROM 2)::name AND relname = SUBSTRING(typname FROM 2)::name

View File

@ -1,14 +1,14 @@
SELECT SELECT
ca.oid, ca.oid,
concat(format_type(st.oid,NULL),'->',format_type(tt.oid,tt.typtypmod)) as name pg_catalog.concat(pg_catalog.format_type(st.oid,NULL),'->',pg_catalog.format_type(tt.oid,tt.typtypmod)) as name
FROM pg_cast ca FROM pg_catalog.pg_cast ca
JOIN pg_type st ON st.oid=castsource JOIN pg_catalog.pg_type st ON st.oid=castsource
JOIN pg_namespace ns ON ns.oid=st.typnamespace JOIN pg_catalog.pg_namespace ns ON ns.oid=st.typnamespace
JOIN pg_type tt ON tt.oid=casttarget JOIN pg_catalog.pg_type tt ON tt.oid=casttarget
JOIN pg_namespace nt ON nt.oid=tt.typnamespace JOIN pg_catalog.pg_namespace nt ON nt.oid=tt.typnamespace
LEFT JOIN pg_proc pr ON pr.oid=castfunc LEFT JOIN pg_catalog.pg_proc pr ON pr.oid=castfunc
LEFT JOIN pg_namespace np ON np.oid=pr.pronamespace LEFT JOIN pg_catalog.pg_namespace np ON np.oid=pr.pronamespace
LEFT OUTER JOIN pg_description des ON (des.objoid=ca.oid AND des.objsubid=0 AND des.classoid='pg_cast'::regclass) LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=ca.oid AND des.objsubid=0 AND des.classoid='pg_cast'::regclass)
{% if cid %} {% if cid %}
WHERE ca.oid={{cid}}::oid WHERE ca.oid={{cid}}::oid
{% endif %} {% endif %}
@ -21,4 +21,4 @@
{% endif %} {% endif %}
ca.oid > {{datlastsysoid}}::OID ca.oid > {{datlastsysoid}}::OID
{% endif %} {% endif %}
ORDER BY st.typname, tt.typname ORDER BY st.typname, tt.typname

View File

@ -2,7 +2,7 @@
{% if srctyp and trgtyp %} {% if srctyp and trgtyp %}
SELECT SELECT
ca.oid ca.oid
FROM pg_cast ca FROM pg_catalog.pg_cast ca
WHERE ca.castsource = (SELECT t.oid FROM pg_type t WHERE format_type(t.oid, NULL) = {{srctyp|qtLiteral}}) WHERE ca.castsource = (SELECT t.oid FROM pg_type t WHERE format_type(t.oid, NULL) = {{srctyp|qtLiteral}})
AND ca.casttarget = (SELECT t.oid FROM pg_type t WHERE format_type(t.oid, NULL) = {{trgtyp|qtLiteral}}) AND ca.casttarget = (SELECT t.oid FROM pg_type t WHERE format_type(t.oid, NULL) = {{trgtyp|qtLiteral}})
{% if datlastsysoid %} {% if datlastsysoid %}
@ -27,21 +27,21 @@
ELSE proname || '(' || pg_catalog.pg_get_function_identity_arguments(pr.oid) || ')' ELSE proname || '(' || pg_catalog.pg_get_function_identity_arguments(pr.oid) || ')'
END AS proname, END AS proname,
ca.castfunc, ca.castfunc,
format_type(st.oid,NULL) AS srctyp, pg_catalog.format_type(st.oid,NULL) AS srctyp,
format_type(tt.oid,tt.typtypmod) AS trgtyp, pg_catalog.format_type(tt.oid,tt.typtypmod) AS trgtyp,
ns.nspname AS srcnspname, ns.nspname AS srcnspname,
nt.nspname AS trgnspname, nt.nspname AS trgnspname,
np.nspname AS pronspname, np.nspname AS pronspname,
description, description,
concat(format_type(st.oid,NULL),'->',format_type(tt.oid,tt.typtypmod)) as name pg_catalog.concat(pg_catalog.format_type(st.oid,NULL),'->',pg_catalog.format_type(tt.oid,tt.typtypmod)) as name
FROM pg_cast ca FROM pg_catalog.pg_cast ca
JOIN pg_type st ON st.oid=castsource JOIN pg_catalog.pg_type st ON st.oid=castsource
JOIN pg_namespace ns ON ns.oid=st.typnamespace JOIN pg_catalog.pg_namespace ns ON ns.oid=st.typnamespace
JOIN pg_type tt ON tt.oid=casttarget JOIN pg_catalog.pg_type tt ON tt.oid=casttarget
JOIN pg_namespace nt ON nt.oid=tt.typnamespace JOIN pg_catalog.pg_namespace nt ON nt.oid=tt.typnamespace
LEFT JOIN pg_proc pr ON pr.oid=castfunc LEFT JOIN pg_catalog.pg_proc pr ON pr.oid=castfunc
LEFT JOIN pg_namespace np ON np.oid=pr.pronamespace LEFT JOIN pg_catalog.pg_namespace np ON np.oid=pr.pronamespace
LEFT OUTER JOIN pg_description des ON (des.objoid=ca.oid AND des.objsubid=0 AND des.classoid='pg_cast'::regclass) LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=ca.oid AND des.objsubid=0 AND des.classoid='pg_cast'::regclass)
{% if cid %} {% if cid %}
WHERE ca.oid={{cid}}::oid WHERE ca.oid={{cid}}::oid

View File

@ -1,14 +1,14 @@
SELECT SELECT
array_to_string(array_agg(sql), E'\n\n') as sql pg_catalog.array_to_string(array_agg(sql), E'\n\n') as sql
FROM FROM
(SELECT (SELECT
E'-- Cast: ' || E'-- Cast: ' ||
format_type(st.oid, null)|| E' -> ' || pg_catalog.format_type(st.oid, null)|| E' -> ' ||
format_type(tt.oid, tt.typtypmod) || pg_catalog.format_type(tt.oid, tt.typtypmod) ||
E'\n\n-- DROP CAST (' || format_type(st.oid, null) || E'\n\n-- DROP CAST (' || pg_catalog.format_type(st.oid, null) ||
E' AS ' || format_type(tt.oid,tt.typtypmod) || E' AS ' || pg_catalog.format_type(tt.oid,tt.typtypmod) ||
E');\n\nCREATE CAST (' || format_type(st.oid, null) || E');\n\nCREATE CAST (' || pg_catalog.format_type(st.oid, null) ||
E' AS ' || format_type(tt.oid,tt.typtypmod) || E')\n' || E' AS ' || pg_catalog.format_type(tt.oid,tt.typtypmod) || E')\n' ||
CASE WHEN ca.castfunc != 0 THEN CASE WHEN ca.castfunc != 0 THEN
E'\tWITH FUNCTION ' || E'\tWITH FUNCTION ' ||
pr.proname || '(' || COALESCE(pg_catalog.pg_get_function_identity_arguments(pr.oid), '') || E')' pr.proname || '(' || COALESCE(pg_catalog.pg_get_function_identity_arguments(pr.oid), '') || E')'
@ -19,23 +19,23 @@ FROM
WHEN ca.castcontext = 'i' THEN E'\n\tAS IMPLICIT;' WHEN ca.castcontext = 'i' THEN E'\n\tAS IMPLICIT;'
ELSE E';' END || ELSE E';' END ||
CASE WHEN a.description IS NOT NULL THEN CASE WHEN a.description IS NOT NULL THEN
E'\n\nCOMMENT ON CAST (' || (format_type(st.oid,NULL)) || E'\n\nCOMMENT ON CAST (' || (pg_catalog.format_type(st.oid,NULL)) ||
E' AS ' || (format_type(tt.oid,tt.typtypmod)) || E' AS ' || (pg_catalog.format_type(tt.oid,tt.typtypmod)) ||
E') IS ' || pg_catalog.quote_literal(description) || E';' E') IS ' || pg_catalog.quote_literal(description) || E';'
ELSE '' END as sql ELSE '' END as sql
FROM FROM
pg_cast ca pg_catalog.pg_cast ca
JOIN pg_type st ON st.oid=ca.castsource JOIN pg_catalog.pg_type st ON st.oid=ca.castsource
JOIN pg_namespace ns ON ns.oid=st.typnamespace JOIN pg_catalog.pg_namespace ns ON ns.oid=st.typnamespace
JOIN pg_type tt ON tt.oid=ca.casttarget JOIN pg_catalog.pg_type tt ON tt.oid=ca.casttarget
JOIN pg_namespace nt ON nt.oid=tt.typnamespace JOIN pg_catalog.pg_namespace nt ON nt.oid=tt.typnamespace
LEFT JOIN pg_proc pr ON pr.oid=ca.castfunc LEFT JOIN pg_catalog.pg_proc pr ON pr.oid=ca.castfunc
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
des.description as description, des.description as description,
des.objoid as descoid des.objoid as descoid
FROM FROM
pg_description des pg_catalog.pg_description des
WHERE WHERE
des.objoid={{cid}}::OID AND des.objsubid=0 AND des.classoid='pg_cast'::regclass des.objoid={{cid}}::OID AND des.objsubid=0 AND des.classoid='pg_cast'::regclass
) a ON (a.descoid = ca.oid) ) a ON (a.descoid = ca.oid)

View File

@ -1,7 +1,7 @@
{% if etid %} {% if etid %}
SELECT e.evtname AS name FROM pg_event_trigger e SELECT e.evtname AS name FROM pg_catalog.pg_event_trigger e
WHERE e.oid={{etid}}::oid; WHERE e.oid={{etid}}::oid;
{% endif %} {% endif %}
{% if name %} {% if name %}
DROP EVENT TRIGGER IF EXISTS {{ conn|qtIdent(name) }}{% if cascade%} CASCADE{% endif %}; DROP EVENT TRIGGER IF EXISTS {{ conn|qtIdent(name) }}{% if cascade%} CASCADE{% endif %};
{% endif %} {% endif %}

View File

@ -1,4 +1,4 @@
SELECT quote_ident(nspname) || '.' || quote_ident(proname) AS tfname SELECT pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(proname) AS tfname
FROM pg_proc p, pg_namespace n, pg_language l FROM pg_catalog.pg_proc p, pg_catalog.pg_namespace n, pg_catalog.pg_language l
WHERE p.pronamespace = n.oid AND p.prolang = l.oid AND p.pronargs = 0 AND l.lanname != 'sql' AND prorettype::regtype::text = 'event_trigger' WHERE p.pronamespace = n.oid AND p.prolang = l.oid AND p.pronargs = 0 AND l.lanname != 'sql' AND prorettype::regtype::text = 'event_trigger'
ORDER BY nspname ASC, proname ASC ORDER BY nspname ASC, proname ASC

View File

@ -1 +1 @@
SELECT db.datname as name FROM pg_database as db WHERE db.oid = {{did}} SELECT db.datname as name FROM pg_catalog.pg_database as db WHERE db.oid = {{did}}

View File

@ -1,5 +1,5 @@
{# The Sql below will provide oid for newly created event_trigger #} {# The Sql below will provide oid for newly created event_trigger #}
{% if data %} {% if data %}
SELECT e.oid from pg_event_trigger e SELECT e.oid from pg_catalog.pg_event_trigger e
WHERE e.evtname = {{ data.name|qtLiteral }} WHERE e.evtname = {{ data.name|qtLiteral }}
{% endif %} {% endif %}

View File

@ -1,5 +1,5 @@
SELECT e.oid, e.evtname AS name SELECT e.oid, e.evtname AS name
FROM pg_event_trigger e FROM pg_catalog.pg_event_trigger e
{% if etid %} {% if etid %}
WHERE e.oid={{etid}}::oid WHERE e.oid={{etid}}::oid
{% endif %} {% endif %}

View File

@ -4,17 +4,17 @@ e.evtenabled AS enabled,
e.evtfoid AS eventfuncoid, e.evtfoid AS eventfuncoid,
CASE CASE
WHEN n.nspname = 'public' WHEN n.nspname = 'public'
THEN quote_ident(n.nspname) || '.' || cast(e.evtfoid::regproc as text) THEN pg_catalog.quote_ident(n.nspname) || '.' || cast(e.evtfoid::regproc as text)
ELSE cast(e.evtfoid::regproc as text) ELSE cast(e.evtfoid::regproc as text)
END AS eventfunname, END AS eventfunname,
array_to_string(array(select quote_literal(x) from unnest(evttags) as t(x)), ', ') AS when, pg_catalog.array_to_string(array(select pg_catalog.quote_literal(x) from pg_catalog.unnest(evttags) as t(x)), ', ') AS when,
pg_catalog.obj_description(e.oid, 'pg_event_trigger') AS comment, pg_catalog.obj_description(e.oid, 'pg_event_trigger') AS comment,
(SELECT array_agg(provider || '=' || label) FROM pg_seclabel sl1 WHERE sl1.objoid=e.oid) AS seclabels, (SELECT pg_catalog.array_agg(provider || '=' || label) FROM pg_catalog.pg_seclabel sl1 WHERE sl1.objoid=e.oid) AS seclabels,
p.prosrc AS source, p.pronamespace AS schemaoid, l.lanname AS language p.prosrc AS source, p.pronamespace AS schemaoid, l.lanname AS language
FROM pg_event_trigger e FROM pg_catalog.pg_event_trigger e
LEFT OUTER JOIN pg_proc p ON p.oid=e.evtfoid LEFT OUTER JOIN pg_catalog.pg_proc p ON p.oid=e.evtfoid
LEFT OUTER JOIN pg_language l ON l.oid=p.prolang, LEFT OUTER JOIN pg_catalog.pg_language l ON l.oid=p.prolang,
pg_namespace n pg_catalog.pg_namespace n
WHERE p.pronamespace = n.oid WHERE p.pronamespace = n.oid
{% if etid %} {% if etid %}
AND e.oid={{etid}}::oid AND e.oid={{etid}}::oid

View File

@ -1,6 +1,6 @@
{#============================Drop/Cascade Extension by name=========================#} {#============================Drop/Cascade Extension by name=========================#}
{% if eid %} {% if eid %}
SELECT x.extname from pg_extension x SELECT x.extname from pg_catalog.pg_extension x
WHERE x.oid = {{ eid }}::oid WHERE x.oid = {{ eid }}::oid
{% endif %} {% endif %}
{% if name %} {% if name %}

View File

@ -1,12 +1,12 @@
{# ======================Fetch extensions names=====================#} {# ======================Fetch extensions names=====================#}
SELECT SELECT
a.name, a.installed_version, a.name, a.installed_version,
array_agg(av.version) as version, pg_catalog.array_agg(av.version) as version,
array_agg(av.schema) as schema, pg_catalog.array_agg(av.schema) as schema,
array_agg(av.superuser) as superuser, pg_catalog.array_agg(av.superuser) as superuser,
array_agg(av.relocatable) as relocatable pg_catalog.array_agg(av.relocatable) as relocatable
FROM FROM
pg_available_extensions a pg_catalog.pg_available_extensions a
LEFT JOIN pg_available_extension_versions av ON (a.name = av.name) LEFT JOIN pg_catalog.pg_available_extension_versions av ON (a.name = av.name)
GROUP BY a.name, a.installed_version GROUP BY a.name, a.installed_version
ORDER BY a.name ORDER BY a.name

View File

@ -1,13 +1,13 @@
{#===================Fetch properties of each extension by name or oid===================#} {#===================Fetch properties of each extension by name or oid===================#}
SELECT SELECT
x.oid, pg_get_userbyid(extowner) AS owner, x.oid, pg_catalog.pg_get_userbyid(extowner) AS owner,
x.extname AS name, n.nspname AS schema, x.extname AS name, n.nspname AS schema,
x.extrelocatable AS relocatable, x.extversion AS version, x.extrelocatable AS relocatable, x.extversion AS version,
e.comment e.comment
FROM FROM
pg_extension x pg_catalog.pg_extension x
LEFT JOIN pg_namespace n ON x.extnamespace=n.oid LEFT JOIN pg_catalog.pg_namespace n ON x.extnamespace=n.oid
JOIN pg_available_extensions() e(name, default_version, comment) ON x.extname=e.name JOIN pg_catalog.pg_available_extensions() e(name, default_version, comment) ON x.extname=e.name
{%- if eid %} {%- if eid %}
WHERE x.oid = {{eid}}::oid WHERE x.oid = {{eid}}::oid
{% elif ename %} {% elif ename %}

View File

@ -1,4 +1,4 @@
SELECT 'fsrvacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor, array_agg(privilege_type) as privileges, array_agg(is_grantable) as grantable SELECT 'fsrvacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor, pg_catalog.array_agg(privilege_type) as privileges, pg_catalog.array_agg(is_grantable) as grantable
FROM FROM
(SELECT (SELECT
d.grantee, d.grantor, d.is_grantable, d.grantee, d.grantor, d.is_grantable,
@ -7,14 +7,14 @@ FROM
ELSE 'UNKNOWN' ELSE 'UNKNOWN'
END AS privilege_type END AS privilege_type
FROM FROM
(SELECT srvacl FROM pg_foreign_server fsrv (SELECT srvacl FROM pg_catalog.pg_foreign_server fsrv
LEFT OUTER JOIN pg_shdescription descr ON ( LEFT OUTER JOIN pg_catalog.pg_shdescription descr ON (
fsrv.oid=descr.objoid AND descr.classoid='pg_foreign_server'::regclass) fsrv.oid=descr.objoid AND descr.classoid='pg_foreign_server'::regclass)
{% if fsid %} {% if fsid %}
WHERE fsrv.oid = {{ fsid|qtLiteral }}::OID WHERE fsrv.oid = {{ fsid|qtLiteral }}::OID
{% endif %} {% endif %}
) acl, ) acl,
aclexplode(srvacl) d pg_catalog.aclexplode(srvacl) d
) d ) d
LEFT JOIN pg_catalog.pg_roles g ON (d.grantor = g.oid) LEFT JOIN pg_catalog.pg_roles g ON (d.grantor = g.oid)
LEFT JOIN pg_catalog.pg_roles gt ON (d.grantee = gt.oid) LEFT JOIN pg_catalog.pg_roles gt ON (d.grantee = gt.oid)

View File

@ -1,16 +1,16 @@
{# ============= Give all the properties of foreign server ============= #} {# ============= Give all the properties of foreign server ============= #}
{% if fdwid %} {% if fdwid %}
SELECT fdw.oid as fdwoid, fdwname as name SELECT fdw.oid as fdwoid, fdwname as name
FROM pg_foreign_data_wrapper fdw FROM pg_catalog.pg_foreign_data_wrapper fdw
LEFT OUTER JOIN pg_description des ON (des.objoid=fdw.oid AND des.objsubid=0 AND des.classoid='pg_foreign_data_wrapper'::regclass) LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=fdw.oid AND des.objsubid=0 AND des.classoid='pg_foreign_data_wrapper'::regclass)
WHERE fdw.oid={{fdwid}}::oid WHERE fdw.oid={{fdwid}}::oid
{% else %} {% else %}
SELECT srv.oid, srvname as name, srvfdw as fdwid, srvtype as fsrvtype, srvversion as fsrvversion, SELECT srv.oid, srvname as name, srvfdw as fdwid, srvtype as fsrvtype, srvversion as fsrvversion,
fdw.fdwname as fdwname, description, array_to_string(srvoptions, ',') AS fsrvoptions, fdw.fdwname as fdwname, description, pg_catalog.array_to_string(srvoptions, ',') AS fsrvoptions,
pg_get_userbyid(srvowner) as fsrvowner, array_to_string(srvacl::text[], ', ') as acl pg_catalog.pg_get_userbyid(srvowner) as fsrvowner, pg_catalog.array_to_string(srvacl::text[], ', ') as acl
FROM pg_foreign_server srv FROM pg_catalog.pg_foreign_server srv
LEFT OUTER JOIN pg_foreign_data_wrapper fdw on fdw.oid=srvfdw LEFT OUTER JOIN pg_catalog.pg_foreign_data_wrapper fdw on fdw.oid=srvfdw
LEFT OUTER JOIN pg_description des ON (des.objoid=srv.oid AND des.objsubid=0 AND des.classoid='pg_foreign_server'::regclass) LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=srv.oid AND des.objsubid=0 AND des.classoid='pg_foreign_server'::regclass)
{% if data and fdwdata %} {% if data and fdwdata %}
WHERE fdw.fdwname = {{ fdwdata.name|qtLiteral }}::text and srvname = {{ data.name|qtLiteral }}::text WHERE fdw.fdwname = {{ fdwdata.name|qtLiteral }}::text and srvname = {{ data.name|qtLiteral }}::text
{% elif fdwdata %} {% elif fdwdata %}

View File

@ -1,4 +1,4 @@
SELECT 'fsrvacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor, array_agg(privilege_type) as privileges, array_agg(is_grantable) as grantable SELECT 'fsrvacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor, pg_catalog.array_agg(privilege_type) as privileges, pg_catalog.array_agg(is_grantable) as grantable
FROM FROM
(SELECT (SELECT
d.grantee, d.grantor, d.is_grantable, d.grantee, d.grantor, d.is_grantable,
@ -7,8 +7,8 @@ FROM
ELSE 'UNKNOWN' ELSE 'UNKNOWN'
END AS privilege_type END AS privilege_type
FROM FROM
(SELECT srvacl FROM pg_foreign_server fsrv (SELECT srvacl FROM pg_catalog.pg_foreign_server fsrv
LEFT OUTER JOIN pg_shdescription descr ON ( LEFT OUTER JOIN pg_catalog.pg_shdescription descr ON (
fsrv.oid=descr.objoid AND descr.classoid='pg_foreign_server'::regclass) fsrv.oid=descr.objoid AND descr.classoid='pg_foreign_server'::regclass)
{% if fsid %} {% if fsid %}
WHERE fsrv.oid = {{ fsid|qtLiteral }}::OID WHERE fsrv.oid = {{ fsid|qtLiteral }}::OID
@ -16,7 +16,7 @@ FROM
) acl, ) acl,
(SELECT (d).grantee AS grantee, (d).grantor AS grantor, (d).is_grantable AS is_grantable, (SELECT (d).grantee AS grantee, (d).grantor AS grantor, (d).is_grantable AS is_grantable,
(d).privilege_type AS privilege_type (d).privilege_type AS privilege_type
FROM (SELECT aclexplode(srvacl) as d FROM pg_foreign_server fsrv1 FROM (SELECT pg_catalog.aclexplode(srvacl) as d FROM pg_catalog.pg_foreign_server fsrv1
{% if fsid %} {% if fsid %}
WHERE fsrv1.oid = {{ fsid|qtLiteral }}::OID ) a WHERE fsrv1.oid = {{ fsid|qtLiteral }}::OID ) a
{% endif %} {% endif %}

View File

@ -1,9 +1,9 @@
{# ============= Give foreign server name from foreign server id ============= #} {# ============= Give foreign server name from foreign server id ============= #}
{% if fsid %} {% if fsid %}
SELECT srvname as name FROM pg_foreign_server srv LEFT OUTER JOIN pg_foreign_data_wrapper fdw on fdw.oid=srvfdw SELECT srvname as name FROM pg_foreign_server srv LEFT OUTER JOIN pg_catalog.pg_foreign_data_wrapper fdw on fdw.oid=srvfdw
WHERE srv.oid={{fsid}}::oid; WHERE srv.oid={{fsid}}::oid;
{% endif %} {% endif %}
{# ============= Delete/Drop cascade foreign server ============= #} {# ============= Delete/Drop cascade foreign server ============= #}
{% if name %} {% if name %}
DROP SERVER {{ conn|qtIdent(name) }} {% if cascade %} CASCADE {% endif %}; DROP SERVER {{ conn|qtIdent(name) }} {% if cascade %} CASCADE {% endif %};
{% endif %} {% endif %}

View File

@ -1,6 +1,6 @@
{# ============= Get dependents of foreign server ============= #} {# ============= Get dependents of foreign server ============= #}
{% if fsid %} {% if fsid %}
SELECT um.umid as um_oid, um.usename as name, dep.deptype FROM pg_user_mappings um SELECT um.umid as um_oid, um.usename as name, dep.deptype FROM pg_catalog.pg_user_mappings um
LEFT JOIN pg_depend dep ON dep.objid=um.umid LEFT JOIN pg_catalog.pg_depend dep ON dep.objid=um.umid
WHERE um.srvid = {{ fsid }}::OID WHERE um.srvid = {{ fsid }}::OID
{% endif %} {% endif %}

View File

@ -2,16 +2,16 @@
{% if fdwid %} {% if fdwid %}
SELECT fdw.oid as fdwoid, SELECT fdw.oid as fdwoid,
fdwname as name fdwname as name
FROM pg_foreign_data_wrapper fdw FROM pg_catalog.pg_foreign_data_wrapper fdw
LEFT OUTER JOIN pg_description des ON (des.objoid=fdw.oid AND des.objsubid=0 AND des.classoid='pg_foreign_data_wrapper'::regclass) LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=fdw.oid AND des.objsubid=0 AND des.classoid='pg_foreign_data_wrapper'::regclass)
WHERE fdw.oid={{fdwid}}::oid WHERE fdw.oid={{fdwid}}::oid
{% else %} {% else %}
SELECT srv.oid, srvname as name, srvtype as fsrvtype, srvversion as fsrvversion, fdw.fdwname as fdwname, description, SELECT srv.oid, srvname as name, srvtype as fsrvtype, srvversion as fsrvversion, fdw.fdwname as fdwname, description,
array_to_string(srvoptions, ',') AS fsrvoptions, pg_catalog.array_to_string(srvoptions, ',') AS fsrvoptions,
pg_get_userbyid(srvowner) as fsrvowner, array_to_string(srvacl::text[], ', ') as acl pg_catalog.pg_get_userbyid(srvowner) as fsrvowner, pg_catalog.array_to_string(srvacl::text[], ', ') as acl
FROM pg_foreign_server srv FROM pg_catalog.pg_foreign_server srv
LEFT OUTER JOIN pg_foreign_data_wrapper fdw on fdw.oid=srvfdw LEFT OUTER JOIN pg_catalog.pg_foreign_data_wrapper fdw on fdw.oid=srvfdw
LEFT OUTER JOIN pg_description des ON (des.objoid=srv.oid AND des.objsubid=0 AND des.classoid='pg_foreign_server'::regclass) LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=srv.oid AND des.objsubid=0 AND des.classoid='pg_foreign_server'::regclass)
{% if data and fdwdata %} {% if data and fdwdata %}
WHERE fdw.fdwname = {{ fdwdata.name|qtLiteral }}::text and srvname = {{ data.name|qtLiteral }}::text WHERE fdw.fdwname = {{ fdwdata.name|qtLiteral }}::text and srvname = {{ data.name|qtLiteral }}::text
{% elif fdwdata %} {% elif fdwdata %}

View File

@ -1,6 +1,6 @@
{# ============= Get the foreing server name from id ============= #} {# ============= Get the foreing server name from id ============= #}
{% if fsid %} {% if fsid %}
SELECT srvname as name FROM pg_foreign_server srv LEFT OUTER JOIN pg_foreign_data_wrapper fdw on fdw.oid=srvfdw SELECT srvname as name FROM pg_catalog.pg_foreign_server srv LEFT OUTER JOIN pg_catalog.pg_foreign_data_wrapper fdw on fdw.oid=srvfdw
WHERE srv.oid={{fsid}}::oid; WHERE srv.oid={{fsid}}::oid;
{% endif %} {% endif %}
{# ============= Drop/Delete cascade user mapping ============= #} {# ============= Drop/Delete cascade user mapping ============= #}

View File

@ -1,18 +1,18 @@
{# ============= Get the properties of user mapping ============= #} {# ============= Get the properties of user mapping ============= #}
{% if fserid %} {% if fserid %}
SELECT srv.oid as fsrvid, srvname as name SELECT srv.oid as fsrvid, srvname as name
FROM pg_foreign_server srv FROM pg_catalog.pg_foreign_server srv
LEFT OUTER JOIN pg_description des ON (des.objoid=srv.oid AND des.objsubid=0 AND des.classoid='pg_foreign_server'::regclass) LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=srv.oid AND des.objsubid=0 AND des.classoid='pg_foreign_server'::regclass)
WHERE srv.oid = {{fserid}}::oid WHERE srv.oid = {{fserid}}::oid
{% elif fsid or umid %} {% elif fsid or umid %}
SELECT u.umid AS oid, u.usename AS name, u.srvid AS fsid, array_to_string(u.umoptions, ',') AS umoptions, fs.srvfdw AS fdwid SELECT u.umid AS oid, u.usename AS name, u.srvid AS fsid, pg_catalog.array_to_string(u.umoptions, ',') AS umoptions, fs.srvfdw AS fdwid
FROM pg_user_mappings u FROM pg_catalog.pg_user_mappings u
LEFT JOIN pg_foreign_server fs ON fs.oid = u.srvid LEFT JOIN pg_catalog.pg_foreign_server fs ON fs.oid = u.srvid
{% if fsid %} WHERE u.srvid = {{fsid}}::oid {% endif %} {% if umid %} WHERE u.umid= {{umid}}::oid {% endif %} {% if fsid %} WHERE u.srvid = {{fsid}}::oid {% endif %} {% if umid %} WHERE u.umid= {{umid}}::oid {% endif %}
ORDER BY 2; ORDER BY 2;
{% else %} {% else %}
SELECT u.umid AS oid, u.usename AS name, u.srvid AS fsid, array_to_string(u.umoptions, ',') AS umoptions, fs.srvfdw AS fdwid SELECT u.umid AS oid, u.usename AS name, u.srvid AS fsid, pg_catalog.array_to_string(u.umoptions, ',') AS umoptions, fs.srvfdw AS fdwid
FROM pg_user_mappings u FROM pg_catalog.pg_user_mappings u
LEFT JOIN pg_foreign_server fs ON fs.oid = u.srvid LEFT JOIN pg_catalog.pg_foreign_server fs ON fs.oid = u.srvid
ORDER BY 2; ORDER BY 2;
{% endif %} {% endif %}

View File

@ -1,4 +1,4 @@
SELECT 'fdwacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor, array_agg(privilege_type) as privileges, array_agg(is_grantable) as grantable SELECT 'fdwacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor, pg_catalog.array_agg(privilege_type) as privileges, pg_catalog.array_agg(is_grantable) as grantable
FROM FROM
(SELECT (SELECT
d.grantee, d.grantor, d.is_grantable, d.grantee, d.grantor, d.is_grantable,
@ -7,14 +7,14 @@ FROM
ELSE 'UNKNOWN' ELSE 'UNKNOWN'
END AS privilege_type END AS privilege_type
FROM FROM
(SELECT fdwacl FROM pg_foreign_data_wrapper fdw (SELECT fdwacl FROM pg_catalog.pg_foreign_data_wrapper fdw
LEFT OUTER JOIN pg_shdescription descr ON ( LEFT OUTER JOIN pg_catalog.pg_shdescription descr ON (
fdw.oid=descr.objoid AND descr.classoid='pg_foreign_data_wrapper'::regclass) fdw.oid=descr.objoid AND descr.classoid='pg_foreign_data_wrapper'::regclass)
{% if fid %} {% if fid %}
WHERE fdw.oid = {{ fid|qtLiteral }}::OID WHERE fdw.oid = {{ fid|qtLiteral }}::OID
{% endif %} {% endif %}
) acl, ) acl,
aclexplode(fdwacl) d pg_catalog.aclexplode(fdwacl) d
) d ) d
LEFT JOIN pg_catalog.pg_roles g ON (d.grantor = g.oid) LEFT JOIN pg_catalog.pg_roles g ON (d.grantor = g.oid)
LEFT JOIN pg_catalog.pg_roles gt ON (d.grantee = gt.oid) LEFT JOIN pg_catalog.pg_roles gt ON (d.grantee = gt.oid)

View File

@ -1,22 +1,22 @@
{# ============= Get all the properties of foreign data wrapper ============= #} {# ============= Get all the properties of foreign data wrapper ============= #}
SELECT fdw.oid, fdwname as name, fdwhandler, fdwvalidator, description, SELECT fdw.oid, fdwname as name, fdwhandler, fdwvalidator, description,
array_to_string(fdwoptions, ',') AS fdwoptions, pg_get_userbyid(fdwowner) as fdwowner, array_to_string(fdwacl::text[], ', ') as acl, pg_catalog.array_to_string(fdwoptions, ',') AS fdwoptions, pg_catalog.pg_get_userbyid(fdwowner) as fdwowner, pg_catalog.array_to_string(fdwacl::text[], ', ') as acl,
CASE CASE
-- EPAS in redwood mode, concatenation of a string with NULL results as the original string -- EPAS in redwood mode, concatenation of a string with NULL results as the original string
WHEN vp.proname IS NULL THEN NULL WHEN vp.proname IS NULL THEN NULL
ELSE quote_ident(vp_nsp.nspname)||'.'||quote_ident(vp.proname) ELSE pg_catalog.quote_ident(vp_nsp.nspname)||'.'||pg_catalog.quote_ident(vp.proname)
END fdwvalue, END fdwvalue,
CASE CASE
-- EPAS in redwood mode, concatenation of a string with NULL results as the original string -- EPAS in redwood mode, concatenation of a string with NULL results as the original string
WHEN vh.proname IS NULL THEN NULL WHEN vh.proname IS NULL THEN NULL
ELSE quote_ident(vh_nsp.nspname)||'.'||quote_ident(vh.proname) ELSE pg_catalog.quote_ident(vh_nsp.nspname)||'.'||pg_catalog.quote_ident(vh.proname)
END fdwhan END fdwhan
FROM pg_foreign_data_wrapper fdw FROM pg_catalog.pg_foreign_data_wrapper fdw
LEFT OUTER JOIN pg_proc vh on vh.oid=fdwhandler LEFT OUTER JOIN pg_catalog.pg_proc vh on vh.oid=fdwhandler
LEFT OUTER JOIN pg_proc vp on vp.oid=fdwvalidator LEFT OUTER JOIN pg_catalog.pg_proc vp on vp.oid=fdwvalidator
LEFT OUTER JOIN pg_namespace vh_nsp ON vh_nsp.oid=vh.pronamespace LEFT OUTER JOIN pg_catalog.pg_namespace vh_nsp ON vh_nsp.oid=vh.pronamespace
LEFT OUTER JOIN pg_namespace vp_nsp ON vp_nsp.oid=vp.pronamespace LEFT OUTER JOIN pg_catalog.pg_namespace vp_nsp ON vp_nsp.oid=vp.pronamespace
LEFT OUTER JOIN pg_description des ON (des.objoid=fdw.oid AND des.objsubid=0 AND des.classoid='pg_foreign_data_wrapper'::regclass) LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=fdw.oid AND des.objsubid=0 AND des.classoid='pg_foreign_data_wrapper'::regclass)
{% if fid %} {% if fid %}
WHERE fdw.oid={{fid}}::oid WHERE fdw.oid={{fid}}::oid
{% endif %} {% endif %}

View File

@ -1,4 +1,4 @@
SELECT 'fdwacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor, array_agg(privilege_type) as privileges, array_agg(is_grantable) as grantable SELECT 'fdwacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor, pg_catalog.array_agg(privilege_type) as privileges, pg_catalog.array_agg(is_grantable) as grantable
FROM FROM
(SELECT (SELECT
d.grantee, d.grantor, d.is_grantable, d.grantee, d.grantor, d.is_grantable,
@ -7,8 +7,8 @@ FROM
ELSE 'UNKNOWN' ELSE 'UNKNOWN'
END AS privilege_type END AS privilege_type
FROM FROM
(SELECT fdwacl FROM pg_foreign_data_wrapper fdw (SELECT fdwacl FROM pg_catalog.pg_foreign_data_wrapper fdw
LEFT OUTER JOIN pg_shdescription descr ON ( LEFT OUTER JOIN pg_catalog.pg_shdescription descr ON (
fdw.oid=descr.objoid AND descr.classoid='pg_foreign_data_wrapper'::regclass) fdw.oid=descr.objoid AND descr.classoid='pg_foreign_data_wrapper'::regclass)
{% if fid %} {% if fid %}
WHERE fdw.oid = {{ fid|qtLiteral }}::OID WHERE fdw.oid = {{ fid|qtLiteral }}::OID
@ -16,7 +16,7 @@ FROM
) acl, ) acl,
(SELECT (d).grantee AS grantee, (d).grantor AS grantor, (d).is_grantable AS is_grantable, (SELECT (d).grantee AS grantee, (d).grantor AS grantor, (d).is_grantable AS is_grantable,
(d).privilege_type AS privilege_type (d).privilege_type AS privilege_type
FROM (SELECT aclexplode(fdwacl) as d FROM pg_foreign_data_wrapper fdw1 FROM (SELECT pg_catalog.aclexplode(fdwacl) as d FROM pg_catalog.pg_foreign_data_wrapper fdw1
{% if fid %} {% if fid %}
WHERE fdw1.oid = {{ fid|qtLiteral }}::OID ) a WHERE fdw1.oid = {{ fid|qtLiteral }}::OID ) a
{% endif %} {% endif %}

View File

@ -1,8 +1,8 @@
{# ============= Get foreign data wrapper from fid ============= #} {# ============= Get foreign data wrapper from fid ============= #}
{% if fid %} {% if fid %}
SELECT fdwname as name from pg_foreign_data_wrapper WHERE oid={{fid}}::oid; SELECT fdwname as name from pg_catalog.pg_foreign_data_wrapper WHERE oid={{fid}}::oid;
{% endif %} {% endif %}
{# ============= Delete/Drop cascade foreign data wrapper ============= #} {# ============= Delete/Drop cascade foreign data wrapper ============= #}
{% if name %} {% if name %}
DROP FOREIGN DATA WRAPPER {{ conn|qtIdent(name) }} {% if cascade %} CASCADE {% endif %}; DROP FOREIGN DATA WRAPPER {{ conn|qtIdent(name) }} {% if cascade %} CASCADE {% endif %};
{% endif %} {% endif %}

View File

@ -1,5 +1,5 @@
{# ============= Get the handlers of foreign data wrapper ============= #} {# ============= Get the handlers of foreign data wrapper ============= #}
SELECT nspname, proname as fdwhan, SELECT nspname, proname as fdwhan,
quote_ident(nspname)||'.'||quote_ident(proname) AS schema_prefix_fdw_hand pg_catalog.quote_ident(nspname)||'.'||pg_catalog.quote_ident(proname) AS schema_prefix_fdw_hand
FROM pg_proc p JOIN pg_namespace nsp ON nsp.oid=pronamespace FROM pg_catalog.pg_proc p JOIN pg_catalog.pg_namespace nsp ON nsp.oid=pronamespace
WHERE pronargs=0 AND prorettype=3115; WHERE pronargs=0 AND prorettype=3115;

View File

@ -1,22 +1,22 @@
{# ============= Get all the properties of foreign data wrapper ============= #} {# ============= Get all the properties of foreign data wrapper ============= #}
SELECT fdw.oid, fdwname as name, fdwhandler, fdwvalidator, description, SELECT fdw.oid, fdwname as name, fdwhandler, fdwvalidator, description,
array_to_string(fdwoptions, ',') AS fdwoptions, pg_get_userbyid(fdwowner) as fdwowner, array_to_string(fdwacl::text[], ', ') as acl, pg_catalog.array_to_string(fdwoptions, ',') AS fdwoptions, pg_catalog.pg_get_userbyid(fdwowner) as fdwowner, pg_catalog.array_to_string(fdwacl::text[], ', ') as acl,
CASE CASE
-- EPAS in redwood mode, concatenation of a string with NULL results as the original string -- EPAS in redwood mode, concatenation of a string with NULL results as the original string
WHEN vp.proname IS NULL THEN NULL WHEN vp.proname IS NULL THEN NULL
ELSE quote_ident(vp_nsp.nspname)||'.'||quote_ident(vp.proname) ELSE pg_catalog.quote_ident(vp_nsp.nspname)||'.'||pg_catalog.quote_ident(vp.proname)
END fdwvalue, END fdwvalue,
CASE CASE
-- EPAS in redwood mode, concatenation of a string with NULL results as the original string -- EPAS in redwood mode, concatenation of a string with NULL results as the original string
WHEN vh.proname IS NULL THEN NULL WHEN vh.proname IS NULL THEN NULL
ELSE quote_ident(vh_nsp.nspname)||'.'||quote_ident(vh.proname) ELSE pg_catalog.quote_ident(vh_nsp.nspname)||'.'||pg_catalog.quote_ident(vh.proname)
END fdwhan END fdwhan
FROM pg_foreign_data_wrapper fdw FROM pg_catalog.pg_foreign_data_wrapper fdw
LEFT OUTER JOIN pg_proc vh on vh.oid=fdwhandler LEFT OUTER JOIN pg_catalog.pg_proc vh on vh.oid=fdwhandler
LEFT OUTER JOIN pg_proc vp on vp.oid=fdwvalidator LEFT OUTER JOIN pg_catalog.pg_proc vp on vp.oid=fdwvalidator
LEFT OUTER JOIN pg_namespace vh_nsp ON vh_nsp.oid=vh.pronamespace LEFT OUTER JOIN pg_catalog.pg_namespace vh_nsp ON vh_nsp.oid=vh.pronamespace
LEFT OUTER JOIN pg_namespace vp_nsp ON vp_nsp.oid=vp.pronamespace LEFT OUTER JOIN pg_catalog.pg_namespace vp_nsp ON vp_nsp.oid=vp.pronamespace
LEFT OUTER JOIN pg_description des ON (des.objoid=fdw.oid AND des.objsubid=0 AND des.classoid='pg_foreign_data_wrapper'::regclass) LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=fdw.oid AND des.objsubid=0 AND des.classoid='pg_foreign_data_wrapper'::regclass)
{% if fid %} {% if fid %}
WHERE fdw.oid={{fid}}::oid WHERE fdw.oid={{fid}}::oid
{% endif %} {% endif %}

View File

@ -1,5 +1,5 @@
{# ============= Get the validators of foreign data wrapper ============= #} {# ============= Get the validators of foreign data wrapper ============= #}
SELECT nspname, proname as fdwvalue, SELECT nspname, proname as fdwvalue,
quote_ident(nspname)||'.'||quote_ident(proname) AS schema_prefix_fdw_val pg_catalog.quote_ident(nspname)||'.'||pg_catalog.quote_ident(proname) AS schema_prefix_fdw_val
FROM pg_proc p JOIN pg_namespace nsp ON nsp.oid=pronamespace FROM pg_catalog.pg_proc p JOIN pg_catalog.pg_namespace nsp ON nsp.oid=pronamespace
WHERE proargtypes[0]=1009 AND proargtypes[1]=26; WHERE proargtypes[0]=1009 AND proargtypes[1]=26;

View File

@ -1,5 +1,5 @@
SELECT 'lanacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor, SELECT 'lanacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor,
array_agg(privilege_type) as privileges, array_agg(is_grantable) as grantable pg_catalog.array_agg(privilege_type) as privileges, pg_catalog.array_agg(is_grantable) as grantable
FROM FROM
(SELECT (SELECT
d.grantee, d.grantor, d.is_grantable, d.grantee, d.grantor, d.is_grantable,
@ -8,11 +8,11 @@ FROM
ELSE 'UNKNOWN' ELSE 'UNKNOWN'
END AS privilege_type END AS privilege_type
FROM FROM
(SELECT lanacl FROM pg_language lan (SELECT lanacl FROM pg_catalog.pg_language lan
LEFT OUTER JOIN pg_shdescription descr ON (lan.oid=descr.objoid AND descr.classoid='pg_language'::regclass) LEFT OUTER JOIN pg_catalog.pg_shdescription descr ON (lan.oid=descr.objoid AND descr.classoid='pg_language'::regclass)
WHERE lan.oid = {{ lid|qtLiteral }}::OID WHERE lan.oid = {{ lid|qtLiteral }}::OID
) acl, ) acl,
aclexplode(lanacl) d pg_catalog.aclexplode(lanacl) d
) d ) d
LEFT JOIN pg_catalog.pg_roles g ON (d.grantor = g.oid) LEFT JOIN pg_catalog.pg_roles g ON (d.grantor = g.oid)
LEFT JOIN pg_catalog.pg_roles gt ON (d.grantee = gt.oid) LEFT JOIN pg_catalog.pg_roles gt ON (d.grantee = gt.oid)

View File

@ -1,5 +1,5 @@
SELECT 'lanacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor, SELECT 'lanacl' as deftype, COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor,
array_agg(privilege_type) as privileges, array_agg(is_grantable) as grantable pg_catalog.array_agg(privilege_type) as privileges, pg_catalog.array_agg(is_grantable) as grantable
FROM FROM
(SELECT (SELECT
d.grantee, d.grantor, d.is_grantable, d.grantee, d.grantor, d.is_grantable,
@ -8,13 +8,13 @@ FROM
ELSE 'UNKNOWN' ELSE 'UNKNOWN'
END AS privilege_type END AS privilege_type
FROM FROM
(SELECT lanacl FROM pg_language lan (SELECT lanacl FROM pg_catalog.pg_language lan
LEFT OUTER JOIN pg_shdescription descr ON (lan.oid=descr.objoid AND descr.classoid='pg_language'::regclass) LEFT OUTER JOIN pg_catalog.pg_shdescription descr ON (lan.oid=descr.objoid AND descr.classoid='pg_language'::regclass)
WHERE lan.oid = {{ lid|qtLiteral }}::OID WHERE lan.oid = {{ lid|qtLiteral }}::OID
) acl, ) acl,
(SELECT (d).grantee AS grantee, (d).grantor AS grantor, (d).is_grantable AS is_grantable, (SELECT (d).grantee AS grantee, (d).grantor AS grantor, (d).is_grantable AS is_grantable,
(d).privilege_type AS privilege_type (d).privilege_type AS privilege_type
FROM (SELECT aclexplode(lanacl) as d FROM pg_language lan1 FROM (SELECT pg_catalog.aclexplode(lanacl) as d FROM pg_catalog.pg_language lan1
WHERE lan1.oid = {{ lid|qtLiteral }}::OID ) a WHERE lan1.oid = {{ lid|qtLiteral }}::OID ) a
) d ) d
) d ) d

View File

@ -1,6 +1,6 @@
{# ============= Get the language name using oid ============= #} {# ============= Get the language name using oid ============= #}
{% if lid %} {% if lid %}
SELECT lanname FROM pg_language WHERE oid = {{lid}}::oid; SELECT lanname FROM pg_catalog.pg_language WHERE oid = {{lid}}::oid;
{% endif %} {% endif %}
{# ============= Drop the language ============= #} {# ============= Drop the language ============= #}
{% if lname %} {% if lname %}

View File

@ -1,6 +1,6 @@
SELECT SELECT
CASE WHEN nspname != 'pg_catalog' THEN quote_ident(nspname) || '.' || quote_ident(proname) CASE WHEN nspname != 'pg_catalog' THEN pg_catalog.quote_ident(nspname) || '.' || pg_catalog.quote_ident(proname)
ELSE quote_ident(proname) ELSE pg_catalog.quote_ident(proname)
END AS label, END AS label,
CASE CASE
WHEN prorettype = 2280 THEN 'handler' WHEN prorettype = 2280 THEN 'handler'
@ -8,8 +8,8 @@ SELECT
ELSE 'validator' ELSE 'validator'
END AS prop_type END AS prop_type
FROM FROM
pg_proc p JOIN pg_namespace nsp ON nsp.oid=pronamespace pg_catalog.pg_proc p JOIN pg_catalog.pg_namespace nsp ON nsp.oid=pronamespace
WHERE WHERE
prorettype=2280 OR prorettype=2280 OR
(prorettype=2278 AND proargtypes[0]=26) OR (prorettype=2278 AND proargtypes[0]=26) OR
(prorettype=2278 AND proargtypes[0]=2281) (prorettype=2278 AND proargtypes[0]=2281)

View File

@ -1,14 +1,14 @@
SELECT SELECT
lan.oid as oid, lanname as name, lanpltrusted as trusted, lan.oid as oid, lanname as name, lanpltrusted as trusted,
array_to_string(lanacl::text[], ', ') as acl, hp.proname as lanproc, pg_catalog.array_to_string(lanacl::text[], ', ') as acl, hp.proname as lanproc,
vp.proname as lanval, description, vp.proname as lanval, description,
pg_get_userbyid(lan.lanowner) as lanowner, ip.proname as laninl, pg_catalog.pg_get_userbyid(lan.lanowner) as lanowner, ip.proname as laninl,
(SELECT array_agg(provider || '=' || label) FROM pg_seclabel sl1 WHERE sl1.objoid=lan.oid) AS seclabels (SELECT pg_catalog.array_agg(provider || '=' || label) FROM pg_catalog.pg_seclabel sl1 WHERE sl1.objoid=lan.oid) AS seclabels
FROM FROM
pg_language lan JOIN pg_proc hp ON hp.oid=lanplcallfoid pg_catalog.pg_language lan JOIN pg_catalog.pg_proc hp ON hp.oid=lanplcallfoid
LEFT OUTER JOIN pg_proc ip ON ip.oid=laninline LEFT OUTER JOIN pg_catalog.pg_proc ip ON ip.oid=laninline
LEFT OUTER JOIN pg_proc vp ON vp.oid=lanvalidator LEFT OUTER JOIN pg_catalog.pg_proc vp ON vp.oid=lanvalidator
LEFT OUTER JOIN pg_description des LEFT OUTER JOIN pg_catalog.pg_description des
ON ( ON (
des.objoid=lan.oid AND des.objsubid=0 AND des.objoid=lan.oid AND des.objsubid=0 AND
des.classoid='pg_language'::regclass des.classoid='pg_language'::regclass

View File

@ -1,7 +1,7 @@
{# ============= SELECT Language templates ============= #} {# ============= SELECT Language templates ============= #}
SELECT SELECT
tmplname tmplname
FROM pg_pltemplate FROM pg_catalog.pg_pltemplate
LEFT JOIN pg_language ON tmplname=lanname LEFT JOIN pg_catalog.pg_language ON tmplname=lanname
WHERE lanname IS NULL WHERE lanname IS NULL
ORDER BY tmplname; ORDER BY tmplname;

View File

@ -1,8 +1,8 @@
SELECT c.oid AS oid, c.pubname AS name, SELECT c.oid AS oid, c.pubname AS name,
pubinsert AS evnt_insert, pubupdate AS evnt_update, pubdelete AS evnt_delete, pubtruncate AS evnt_truncate, pubinsert AS evnt_insert, pubupdate AS evnt_update, pubdelete AS evnt_delete, pubtruncate AS evnt_truncate,
puballtables AS all_table, puballtables AS all_table,
pga.rolname AS pubowner FROM pg_publication c pga.rolname AS pubowner FROM pg_catalog.pg_publication c
JOIN pg_roles pga ON c.pubowner= pga.oid JOIN pg_catalog.pg_roles pga ON c.pubowner= pga.oid
{% if pbid %} {% if pbid %}
WHERE c.oid = {{ pbid }} WHERE c.oid = {{ pbid }}
{% endif %} {% endif %}

View File

@ -2,8 +2,8 @@ SELECT c.oid AS oid, c.pubname AS name,
pubinsert AS evnt_insert, pubupdate AS evnt_update, pubdelete AS evnt_delete, pubtruncate AS evnt_truncate, pubinsert AS evnt_insert, pubupdate AS evnt_update, pubdelete AS evnt_delete, pubtruncate AS evnt_truncate,
puballtables AS all_table, puballtables AS all_table,
pubviaroot AS publish_via_partition_root, pubviaroot AS publish_via_partition_root,
pga.rolname AS pubowner FROM pg_publication c pga.rolname AS pubowner FROM pg_catalog.pg_publication c
JOIN pg_roles pga ON c.pubowner= pga.oid JOIN pg_catalog.pg_roles pga ON c.pubowner= pga.oid
{% if pbid %} {% if pbid %}
WHERE c.oid = {{ pbid }} WHERE c.oid = {{ pbid }}
{% endif %} {% endif %}

View File

@ -1,6 +1,6 @@
{# ============= Get the publication name using oid ============= #} {# ============= Get the publication name using oid ============= #}
{% if pbid %} {% if pbid %}
SELECT pubname FROM pg_publication WHERE oid = {{pbid}}::oid; SELECT pubname FROM pg_catalog.pg_publication WHERE oid = {{pbid}}::oid;
{% endif %} {% endif %}
{# ============= Drop the publication ============= #} {# ============= Drop the publication ============= #}
{% if pname %} {% if pname %}

View File

@ -1,5 +1,5 @@
SELECT cl.oid AS oid, SELECT cl.oid AS oid,
quote_ident(pgb_table.schemaname)||'.'||quote_ident(pgb_table.tablename) AS pubtable pg_catalog.quote_ident(pgb_table.schemaname)||'.'||pg_catalog.quote_ident(pgb_table.tablename) AS pubtable
FROM pg_publication_tables pgb_table FROM pg_catalog.pg_publication_tables pgb_table
LEFT JOIN pg_class cl ON pgb_table.tablename = cl.relname LEFT JOIN pg_catalog.pg_class cl ON pgb_table.tablename = cl.relname
WHERE pubname = '{{ pname }}' AND pgb_table.schemaname NOT LIKE 'pgagent'; WHERE pubname = '{{ pname }}' AND pgb_table.schemaname NOT LIKE 'pgagent';

View File

@ -1,4 +1,4 @@
SELECT quote_ident(c.table_schema)||'.'||quote_ident(c.table_name) AS table SELECT pg_catalog.quote_ident(c.table_schema)||'.'||pg_catalog.quote_ident(c.table_name) AS table
FROM information_schema.tables c FROM information_schema.tables c
WHERE c.table_type = 'BASE TABLE' WHERE c.table_type = 'BASE TABLE'
AND c.table_schema NOT LIKE 'pg\_%' AND c.table_schema NOT LIKE 'pg\_%'

View File

@ -1 +1 @@
SELECT oid, pubname AS name FROM pg_publication WHERE pubname = '{{ pubname }}'; SELECT oid, pubname AS name FROM pg_catalog.pg_publication WHERE pubname = '{{ pubname }}';

View File

@ -1,3 +1,3 @@
SELECT quote_ident(pgb_table.schemaname)||'.'||quote_ident(pgb_table.tablename) SELECT pg_catalog.quote_ident(pgb_table.schemaname)||'.'||pg_catalog.quote_ident(pgb_table.tablename)
AS pubtable FROM pg_publication_tables pgb_table WHERE pubname = '{{ pname }}' AS pubtable FROM pg_catalog.pg_publication_tables pgb_table WHERE pubname = '{{ pname }}'
AND pgb_table.schemaname NOT LIKE 'pgagent'; AND pgb_table.schemaname NOT LIKE 'pgagent';

View File

@ -1 +1 @@
SELECT oid , pubname AS name FROM pg_publication; SELECT oid , pubname AS name FROM pg_catalog.pg_publication;

View File

@ -1,8 +1,8 @@
SELECT c.oid AS oid, c.pubname AS name, SELECT c.oid AS oid, c.pubname AS name,
pubinsert AS evnt_insert, pubupdate AS evnt_update, pubdelete AS evnt_delete, pubinsert AS evnt_insert, pubupdate AS evnt_update, pubdelete AS evnt_delete,
puballtables AS all_table, puballtables AS all_table,
pga.rolname AS pubowner FROM pg_publication c pga.rolname AS pubowner FROM pg_catalog.pg_publication c
JOIN pg_roles pga ON c.pubowner= pga.oid JOIN pg_catalog.pg_roles pga ON c.pubowner= pga.oid
{% if pbid %} {% if pbid %}
where c.oid = {{ pbid }} where c.oid = {{ pbid }}
{% endif %} {% endif %}

View File

@ -1,10 +1,10 @@
SELECT SELECT
ref.relname AS refname, d2.refclassid, dep.deptype AS deptype ref.relname AS refname, d2.refclassid, dep.deptype AS deptype
FROM pg_depend dep FROM pg_catalog.pg_depend dep
LEFT JOIN pg_depend d2 ON dep.objid=d2.objid AND dep.refobjid != d2.refobjid LEFT JOIN pg_catalog.pg_depend d2 ON dep.objid=d2.objid AND dep.refobjid != d2.refobjid
LEFT JOIN pg_class ref ON ref.oid=d2.refobjid LEFT JOIN pg_catalog.pg_class ref ON ref.oid=d2.refobjid
LEFT JOIN pg_attribute att ON d2.refclassid=att.attrelid AND d2.refobjsubid=att.attnum LEFT JOIN pg_catalog.pg_attribute att ON d2.refclassid=att.attrelid AND d2.refobjsubid=att.attnum
{{ where }} AND {{ where }} AND
dep.classid=(SELECT oid FROM pg_class WHERE relname='pg_attrdef') AND dep.classid=(SELECT oid FROM pg_catalog.pg_class WHERE relname='pg_attrdef') AND
dep.refobjid NOT IN (SELECT d3.refobjid FROM pg_depend d3 WHERE d3.objid=d2.refobjid) dep.refobjid NOT IN (SELECT d3.refobjid FROM pg_catalog.pg_depend d3 WHERE d3.objid=d2.refobjid)
ORDER BY refname; ORDER BY refname;

View File

@ -1,6 +1,6 @@
SELECT SELECT
attnum, attname attnum, attname
FROM pg_attribute att FROM pg_catalog.pg_attribute att
WHERE att.attrelid = {{coid}}::oid WHERE att.attrelid = {{coid}}::oid
AND att.attnum > 0 AND att.attnum > 0
AND att.attisdropped IS FALSE AND att.attisdropped IS FALSE

View File

@ -1,38 +1,38 @@
SELECT SELECT
att.*, def.*, pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS defval, att.*, def.*, pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS defval,
CASE WHEN att.attndims > 0 THEN 1 ELSE 0 END AS isarray, CASE WHEN att.attndims > 0 THEN 1 ELSE 0 END AS isarray,
format_type(ty.oid,NULL) AS typname, pg_catalog.format_type(ty.oid,NULL) AS typname,
format_type(ty.oid,att.atttypmod) AS displaytypname, pg_catalog.format_type(ty.oid,att.atttypmod) AS displaytypname,
tn.nspname as typnspname, et.typname as elemtypname, tn.nspname as typnspname, et.typname as elemtypname,
ty.typstorage AS defaultstorage, cl.relname, na.nspname, ty.typstorage AS defaultstorage, cl.relname, na.nspname,
att.attstattarget, description, cs.relname AS sername, att.attstattarget, description, cs.relname AS sername,
ns.nspname AS serschema, ns.nspname AS serschema,
(SELECT count(1) FROM pg_type t2 WHERE t2.typname=ty.typname) > 1 AS isdup, (SELECT count(1) FROM pg_catalog.pg_type t2 WHERE t2.typname=ty.typname) > 1 AS isdup,
indkey, coll.collname, nspc.nspname as collnspname , attoptions, indkey, coll.collname, nspc.nspname as collnspname , attoptions,
-- Start pgAdmin4, added to save time on client side parsing -- Start pgAdmin4, added to save time on client side parsing
CASE WHEN length(coll.collname::text) > 0 AND length(nspc.nspname::text) > 0 THEN CASE WHEN length(coll.collname::text) > 0 AND length(nspc.nspname::text) > 0 THEN
concat(quote_ident(nspc.nspname),'.',quote_ident(coll.collname)) pg_catalog.concat(pg_catalog.quote_ident(nspc.nspname),'.',pg_catalog.quote_ident(coll.collname))
ELSE '' END AS collspcname, ELSE '' END AS collspcname,
CASE WHEN strpos(format_type(ty.oid,att.atttypmod), '.') > 0 THEN CASE WHEN strpos(pg_catalog.format_type(ty.oid,att.atttypmod), '.') > 0 THEN
split_part(format_type(ty.oid,att.atttypmod), '.', 2) pg_catalog.split_part(format_type(ty.oid,att.atttypmod), '.', 2)
ELSE format_type(ty.oid,att.atttypmod) END AS cltype, ELSE pg_catalog.format_type(ty.oid,att.atttypmod) END AS cltype,
-- End pgAdmin4 -- End pgAdmin4
EXISTS(SELECT 1 FROM pg_constraint WHERE conrelid=att.attrelid AND contype='f' AND att.attnum=ANY(conkey)) As isfk, EXISTS(SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid=att.attrelid AND contype='f' AND att.attnum=ANY(conkey)) As isfk,
(SELECT array_agg(label) FROM pg_seclabels sl1 WHERE sl1.objoid=att.attrelid AND sl1.objsubid=att.attnum) AS labels, (SELECT pg_catalog.array_agg(label) FROM pg_catalog.pg_seclabels sl1 WHERE sl1.objoid=att.attrelid AND sl1.objsubid=att.attnum) AS labels,
(SELECT array_agg(provider) FROM pg_seclabels sl2 WHERE sl2.objoid=att.attrelid AND sl2.objsubid=att.attnum) AS providers (SELECT pg_catalog.array_agg(provider) FROM pg_catalog.pg_seclabels sl2 WHERE sl2.objoid=att.attrelid AND sl2.objsubid=att.attnum) AS providers
FROM pg_attribute att FROM pg_catalog.pg_attribute att
JOIN pg_type ty ON ty.oid=atttypid JOIN pg_catalog.pg_type ty ON ty.oid=atttypid
JOIN pg_namespace tn ON tn.oid=ty.typnamespace JOIN pg_catalog.pg_namespace tn ON tn.oid=ty.typnamespace
JOIN pg_class cl ON cl.oid=att.attrelid JOIN pg_catalog.pg_class cl ON cl.oid=att.attrelid
JOIN pg_namespace na ON na.oid=cl.relnamespace JOIN pg_catalog.pg_namespace na ON na.oid=cl.relnamespace
LEFT OUTER JOIN pg_type et ON et.oid=ty.typelem LEFT OUTER JOIN pg_catalog.pg_type et ON et.oid=ty.typelem
LEFT OUTER JOIN pg_attrdef def ON adrelid=att.attrelid AND adnum=att.attnum LEFT OUTER JOIN pg_catalog.pg_attrdef def ON adrelid=att.attrelid AND adnum=att.attnum
LEFT OUTER JOIN pg_description des ON (des.objoid=att.attrelid AND des.objsubid=att.attnum AND des.classoid='pg_class'::regclass) LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=att.attrelid AND des.objsubid=att.attnum AND des.classoid='pg_class'::regclass)
LEFT OUTER JOIN (pg_depend JOIN pg_class cs ON objid=cs.oid AND classid='pg_class'::regclass AND cs.relkind='S') ON refobjid=att.attrelid AND refobjsubid=att.attnum LEFT OUTER JOIN (pg_catalog.pg_depend JOIN pg_catalog.pg_class cs ON objid=cs.oid AND classid='pg_class'::regclass AND cs.relkind='S') ON refobjid=att.attrelid AND refobjsubid=att.attnum
LEFT OUTER JOIN pg_namespace ns ON ns.oid=cs.relnamespace LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=cs.relnamespace
LEFT OUTER JOIN pg_index pi ON pi.indrelid=att.attrelid AND indisprimary LEFT OUTER JOIN pg_catalog.pg_index pi ON pi.indrelid=att.attrelid AND indisprimary
LEFT OUTER JOIN pg_collation coll ON att.attcollation=coll.oid LEFT OUTER JOIN pg_catalog.pg_collation coll ON att.attcollation=coll.oid
LEFT OUTER JOIN pg_namespace nspc ON coll.collnamespace=nspc.oid LEFT OUTER JOIN pg_catalog.pg_namespace nspc ON coll.collnamespace=nspc.oid
WHERE att.attrelid = {{coid}}::oid{% if clid %} WHERE att.attrelid = {{coid}}::oid{% if clid %}
AND att.attnum = {{clid}}::int AND att.attnum = {{clid}}::int
{% endif %} {% endif %}

View File

@ -1,7 +1,7 @@
SELECT SELECT
c.oid, c.relname as name c.oid, c.relname as name
FROM FROM
pg_class c pg_catalog.pg_class c
{% if scid %} {% if scid %}
WHERE relnamespace = {{scid}}::oid WHERE relnamespace = {{scid}}::oid
{% elif coid %} {% elif coid %}

View File

@ -1,10 +1,10 @@
SELECT SELECT
c.oid, c.relname as name, r.rolname AS owner, description c.oid, c.relname as name, r.rolname AS owner, description
FROM FROM
pg_class c pg_catalog.pg_class c
LEFT OUTER JOIN pg_description d LEFT OUTER JOIN pg_catalog.pg_description d
ON d.objoid=c.oid AND d.classoid='pg_class'::regclass ON d.objoid=c.oid AND d.classoid='pg_class'::regclass
LEFT JOIN pg_roles r ON c.relowner = r.oid LEFT JOIN pg_catalog.pg_roles r ON c.relowner = r.oid
WHERE WHERE
relnamespace = {{scid}}::oid relnamespace = {{scid}}::oid
{% if coid %} AND {% if coid %} AND

View File

@ -1,11 +1,11 @@
SELECT SELECT
c.oid, c.relname as name c.oid, c.relname as name
FROM pg_class c FROM pg_catalog.pg_class c
{% if scid %} {% if scid %}
WHERE relnamespace = {{scid}}::oid WHERE relnamespace = {{scid}}::oid
OR ( OR (
-- On EnterpriseDB we need to ignore some objects in the catalog, namely, _*, dual and type_object_source. -- On EnterpriseDB we need to ignore some objects in the catalog, namely, _*, dual and type_object_source.
select 'sys' ~ (SELECT nsp.nspname FROM pg_namespace nsp WHERE nsp.oid = {{scid}}::oid) select 'sys' ~ (SELECT nsp.nspname FROM pg_catalog.pg_namespace nsp WHERE nsp.oid = {{scid}}::oid)
AND AND
(c.relname NOT LIKE '\\_%' AND c.relname = 'dual' AND c.relname = 'type_object_source') (c.relname NOT LIKE '\\_%' AND c.relname = 'dual' AND c.relname = 'type_object_source')
) )

View File

@ -1,10 +1,10 @@
SELECT SELECT
c.oid, c.relname as name, r.rolname AS owner, description c.oid, c.relname as name, r.rolname AS owner, description
FROM FROM
pg_class c pg_catalog.pg_class c
LEFT OUTER JOIN pg_description d LEFT OUTER JOIN pg_catalog.pg_description d
ON d.objoid=c.oid AND d.classoid='pg_class'::regclass ON d.objoid=c.oid AND d.classoid='pg_class'::regclass
LEFT JOIN pg_roles r ON c.relowner = r.oid LEFT JOIN pg_catalog.pg_roles r ON c.relowner = r.oid
WHERE WHERE
relnamespace = {{scid}}::oid relnamespace = {{scid}}::oid
{% if coid %} AND {% if coid %} AND

View File

@ -1,18 +1,18 @@
SELECT SELECT
CASE WHEN nsp.nspname IN ('sys', 'dbo', 'information_schema') THEN true ELSE false END AS dbSupport CASE WHEN nsp.nspname IN ('sys', 'dbo', 'information_schema') THEN true ELSE false END AS dbSupport
FROM pg_namespace nsp FROM pg_catalog.pg_namespace nsp
WHERE nsp.oid={{scid}}::oid WHERE nsp.oid={{scid}}::oid
AND ( AND (
(nspname = 'pg_catalog' AND EXISTS (nspname = 'pg_catalog' AND EXISTS
(SELECT 1 FROM pg_class WHERE relname = 'pg_class' AND relnamespace = nsp.oid LIMIT 1)) (SELECT 1 FROM pg_catalog.pg_class WHERE relname = 'pg_class' AND relnamespace = nsp.oid LIMIT 1))
OR (nspname = 'pgagent' AND EXISTS OR (nspname = 'pgagent' AND EXISTS
(SELECT 1 FROM pg_class WHERE relname = 'pga_job' AND relnamespace = nsp.oid LIMIT 1)) (SELECT 1 FROM pg_catalog.pg_class WHERE relname = 'pga_job' AND relnamespace = nsp.oid LIMIT 1))
OR (nspname = 'information_schema' AND EXISTS OR (nspname = 'information_schema' AND EXISTS
(SELECT 1 FROM pg_class WHERE relname = 'tables' AND relnamespace = nsp.oid LIMIT 1)) (SELECT 1 FROM pg_catalog.pg_class WHERE relname = 'tables' AND relnamespace = nsp.oid LIMIT 1))
OR (nspname LIKE '_%' AND EXISTS OR (nspname LIKE '_%' AND EXISTS
(SELECT 1 FROM pg_proc WHERE proname='slonyversion' AND pronamespace = nsp.oid LIMIT 1)) (SELECT 1 FROM pg_catalog.pg_proc WHERE proname='slonyversion' AND pronamespace = nsp.oid LIMIT 1))
) )
AND AND
nspname NOT LIKE E'pg\\temp\\%' nspname NOT LIKE E'pg\\temp\\%'
AND AND
nspname NOT LIKE E'pg\\toast_temp\\%' nspname NOT LIKE E'pg\\toast_temp\\%'

View File

@ -1,7 +1,7 @@
SELECT --nspname, collname, SELECT --nspname, collname,
CASE WHEN length(nspname::text) > 0 AND length(collname::text) > 0 THEN CASE WHEN length(nspname::text) > 0 AND length(collname::text) > 0 THEN
concat(quote_ident(nspname), '.', quote_ident(collname)) pg_catalog.concat(pg_catalog.quote_ident(nspname), '.', pg_catalog.quote_ident(collname))
ELSE '' END AS copy_collation ELSE '' END AS copy_collation
FROM pg_collation c, pg_namespace n FROM pg_catalog.pg_collation c, pg_catalog.pg_namespace n
WHERE c.collnamespace=n.oid WHERE c.collnamespace=n.oid
ORDER BY nspname, collname; ORDER BY nspname, collname;

View File

@ -1,5 +1,5 @@
SELECT nspname AS schema, collname AS name SELECT nspname AS schema, collname AS name
FROM pg_collation c, pg_namespace n FROM pg_catalog.pg_collation c, pg_catalog.pg_namespace n
WHERE c.collnamespace = n.oid AND WHERE c.collnamespace = n.oid AND
n.oid = {{ scid }}::oid AND n.oid = {{ scid }}::oid AND
c.oid = {{ coid }}::oid; c.oid = {{ coid }}::oid;

View File

@ -1,7 +1,7 @@
{# Below will provide oid for newly created collation #} {# Below will provide oid for newly created collation #}
{% if data is defined %} {% if data is defined %}
SELECT c.oid SELECT c.oid
FROM pg_collation c, pg_namespace n FROM pg_catalog.pg_collation c, pg_catalog.pg_namespace n
WHERE c.collnamespace=n.oid AND WHERE c.collnamespace=n.oid AND
n.nspname = {{ data.schema|qtLiteral }} AND n.nspname = {{ data.schema|qtLiteral }} AND
c.collname = {{ data.name|qtLiteral }} c.collname = {{ data.name|qtLiteral }}
@ -9,7 +9,7 @@ WHERE c.collnamespace=n.oid AND
SELECT SELECT
c.collnamespace as scid c.collnamespace as scid
FROM FROM
pg_collation c pg_catalog.pg_collation c
WHERE WHERE
c.oid = {{coid}}::oid; c.oid = {{coid}}::oid;
{% endif %} {% endif %}

View File

@ -1,5 +1,5 @@
SELECT c.oid, c.collname AS name SELECT c.oid, c.collname AS name
FROM pg_collation c FROM pg_catalog.pg_collation c
{% if scid %} {% if scid %}
WHERE c.collnamespace = {{scid}}::oid WHERE c.collnamespace = {{scid}}::oid
{% elif coid %} {% elif coid %}

View File

@ -1,8 +1,8 @@
SELECT c.oid, c.collname AS name, c.collcollate AS lc_collate, c.collctype AS lc_type, SELECT c.oid, c.collname AS name, c.collcollate AS lc_collate, c.collctype AS lc_type,
pg_get_userbyid(c.collowner) AS owner, description, n.nspname AS schema pg_catalog.pg_get_userbyid(c.collowner) AS owner, description, n.nspname AS schema
FROM pg_collation c FROM pg_catalog.pg_collation c
JOIN pg_namespace n ON n.oid=c.collnamespace JOIN pg_catalog.pg_namespace n ON n.oid=c.collnamespace
LEFT OUTER JOIN pg_description des ON (des.objoid=c.oid AND des.classoid='pg_collation'::regclass) LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_collation'::regclass)
WHERE c.collnamespace = {{scid}}::oid WHERE c.collnamespace = {{scid}}::oid
{% if coid %} AND c.oid = {{coid}}::oid {% endif %} {% if coid %} AND c.oid = {{coid}}::oid {% endif %}
ORDER BY c.collname; ORDER BY c.collname;

View File

@ -1,5 +1,5 @@
SELECT SELECT
typcategory typcategory
FROM FROM
pg_type pg_catalog.pg_type
WHERE typname = {{datatype}}; WHERE typname = {{datatype}};

View File

@ -1,15 +1,15 @@
SELECT SELECT
c.oid, conname AS name, typname AS relname, nspname, description, c.oid, conname AS name, typname AS relname, nspname, description,
regexp_replace(pg_get_constraintdef(c.oid, true), E'CHECK \\((.*)\\).*', E'\\1') AS consrc, pg_catalog.regexp_replace(pg_catalog.pg_get_constraintdef(c.oid, true), E'CHECK \\((.*)\\).*', E'\\1') AS consrc,
connoinherit, convalidated, convalidated AS convalidated_p connoinherit, convalidated, convalidated AS convalidated_p
FROM FROM
pg_constraint c pg_catalog.pg_constraint c
JOIN JOIN
pg_type t ON t.oid=contypid pg_catalog.pg_type t ON t.oid=contypid
JOIN JOIN
pg_namespace nl ON nl.oid=typnamespace pg_catalog.pg_namespace nl ON nl.oid=typnamespace
LEFT OUTER JOIN LEFT OUTER JOIN
pg_description des ON (des.objoid=c.oid AND des.classoid='pg_constraint'::regclass) pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_constraint'::regclass)
{% if doid %} {% if doid %}
WHERE WHERE
contype = 'c' AND contypid = {{doid}}::oid contype = 'c' AND contypid = {{doid}}::oid

View File

@ -1,8 +1,8 @@
SELECT SELECT
d.typname as domain, bn.nspname as schema d.typname as domain, bn.nspname as schema
FROM FROM
pg_type d pg_catalog.pg_type d
JOIN JOIN
pg_namespace bn ON bn.oid=d.typnamespace pg_catalog.pg_namespace bn ON bn.oid=d.typnamespace
WHERE WHERE
d.oid = {{doid}}; d.oid = {{doid}};

View File

@ -1,7 +1,7 @@
SELECT SELECT
oid, conname as name oid, conname as name
FROM FROM
pg_constraint pg_catalog.pg_constraint
WHERE WHERE
contypid = {{doid}}::oid contypid = {{doid}}::oid
AND conname={{ name|qtLiteral }}; AND conname={{ name|qtLiteral }};

View File

@ -1,12 +1,12 @@
SELECT SELECT
c.oid, conname AS name, typname AS relname, nspname, c.oid, conname AS name, typname AS relname, nspname,
regexp_replace(pg_get_constraintdef(c.oid, true), E'CHECK \\((.*)\\).*', E'\\1') AS consrc pg_catalog.regexp_replace(pg_catalog.pg_get_constraintdef(c.oid, true), E'CHECK \\((.*)\\).*', E'\\1') AS consrc
FROM FROM
pg_constraint c pg_catalog.pg_constraint c
JOIN JOIN
pg_type t ON t.oid=contypid pg_catalog.pg_type t ON t.oid=contypid
JOIN JOIN
pg_namespace nl ON nl.oid=typnamespace pg_catalog.pg_namespace nl ON nl.oid=typnamespace
{% if doid %} {% if doid %}
WHERE WHERE
contype = 'c' AND contypid = {{doid}}::oid contype = 'c' AND contypid = {{doid}}::oid

View File

@ -1,9 +1,9 @@
SELECT --nspname, collname, SELECT --nspname, collname,
CASE WHEN length(nspname::text) > 0 AND length(collname::text) > 0 THEN CASE WHEN length(nspname::text) > 0 AND length(collname::text) > 0 THEN
concat(nspname, '."', collname,'"') pg_catalog.concat(nspname, '."', collname,'"')
ELSE '' END AS copy_collation ELSE '' END AS copy_collation
FROM FROM
pg_collation c, pg_namespace n pg_catalog.pg_collation c, pg_catalog.pg_namespace n
WHERE WHERE
c.collnamespace=n.oid c.collnamespace=n.oid
ORDER BY ORDER BY

View File

@ -1,14 +1,14 @@
SELECT SELECT
'DOMAIN' AS objectkind, c.oid as conoid, conname, typname as relname, nspname, description, 'DOMAIN' AS objectkind, c.oid as conoid, conname, typname as relname, nspname, description,
regexp_replace(pg_get_constraintdef(c.oid, true), E'CHECK \\((.*)\\).*', E'\\1') as consrc, connoinherit, convalidated pg_catalog.regexp_replace(pg_catalog.pg_get_constraintdef(c.oid, true), E'CHECK \\((.*)\\).*', E'\\1') as consrc, connoinherit, convalidated
FROM FROM
pg_constraint c pg_catalog.pg_constraint c
JOIN JOIN
pg_type t ON t.oid=contypid pg_catalog.pg_type t ON t.oid=contypid
JOIN JOIN
pg_namespace nl ON nl.oid=typnamespace pg_catalog.pg_namespace nl ON nl.oid=typnamespace
LEFT OUTER JOIN LEFT OUTER JOIN
pg_description des ON (des.objoid=c.oid AND des.classoid='pg_constraint'::regclass) pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_constraint'::regclass)
WHERE WHERE
contype = 'c' AND contypid = {{doid}}::oid contype = 'c' AND contypid = {{doid}}::oid
ORDER BY ORDER BY

View File

@ -1,12 +1,12 @@
SELECT SELECT
d.oid, d.typname as name, pg_get_userbyid(d.typowner) as owner, d.oid, d.typname as name, pg_catalog.pg_get_userbyid(d.typowner) as owner,
bn.nspname as basensp bn.nspname as basensp
FROM FROM
pg_type d pg_catalog.pg_type d
JOIN JOIN
pg_type b ON b.oid = d.typbasetype pg_catalog.pg_type b ON b.oid = d.typbasetype
JOIN JOIN
pg_namespace bn ON bn.oid=d.typnamespace pg_catalog.pg_namespace bn ON bn.oid=d.typnamespace
{% if scid is defined %} {% if scid is defined %}
WHERE WHERE
d.typnamespace = {{scid}}::oid d.typnamespace = {{scid}}::oid

View File

@ -1,30 +1,30 @@
SELECT SELECT
d.oid, d.typname as name, d.typbasetype, format_type(b.oid,NULL) as basetype, pg_get_userbyid(d.typowner) as owner, d.oid, d.typname as name, d.typbasetype, pg_catalog.format_type(b.oid,NULL) as basetype, pg_catalog.pg_get_userbyid(d.typowner) as owner,
c.oid AS colloid, format_type(b.oid, d.typtypmod) AS fulltype, c.oid AS colloid, pg_catalog.format_type(b.oid, d.typtypmod) AS fulltype,
CASE WHEN length(cn.nspname::text) > 0 AND length(c.collname::text) > 0 THEN CASE WHEN length(cn.nspname::text) > 0 AND length(c.collname::text) > 0 THEN
concat(cn.nspname, '."', c.collname,'"') pg_catalog.concat(cn.nspname, '."', c.collname,'"')
ELSE '' END AS collname, ELSE '' END AS collname,
d.typtypmod, d.typnotnull, d.typdefault, d.typndims, d.typdelim, bn.nspname as basensp, d.typtypmod, d.typnotnull, d.typdefault, d.typndims, d.typdelim, bn.nspname as basensp,
description, (SELECT COUNT(1) FROM pg_type t2 WHERE t2.typname=d.typname) > 1 AS domisdup, description, (SELECT COUNT(1) FROM pg_catalog.pg_type t2 WHERE t2.typname=d.typname) > 1 AS domisdup,
(SELECT COUNT(1) FROM pg_type t3 WHERE t3.typname=b.typname) > 1 AS baseisdup, (SELECT COUNT(1) FROM pg_catalog.pg_type t3 WHERE t3.typname=b.typname) > 1 AS baseisdup,
(SELECT (SELECT
array_agg(provider || '=' || label) pg_catalog.array_agg(provider || '=' || label)
FROM FROM
pg_seclabel sl1 pg_catalog.pg_seclabel sl1
WHERE WHERE
sl1.objoid=d.oid) AS seclabels sl1.objoid=d.oid) AS seclabels
FROM FROM
pg_type d pg_catalog.pg_type d
JOIN JOIN
pg_type b ON b.oid = d.typbasetype pg_catalog.pg_type b ON b.oid = d.typbasetype
JOIN JOIN
pg_namespace bn ON bn.oid=d.typnamespace pg_catalog.pg_namespace bn ON bn.oid=d.typnamespace
LEFT OUTER JOIN LEFT OUTER JOIN
pg_description des ON (des.objoid=d.oid AND des.classoid='pg_type'::regclass) pg_catalog.pg_description des ON (des.objoid=d.oid AND des.classoid='pg_type'::regclass)
LEFT OUTER JOIN LEFT OUTER JOIN
pg_collation c ON d.typcollation=c.oid pg_catalog.pg_collation c ON d.typcollation=c.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_namespace cn ON c.collnamespace=cn.oid pg_catalog.pg_namespace cn ON c.collnamespace=cn.oid
WHERE WHERE
d.typnamespace = {{scid}}::oid d.typnamespace = {{scid}}::oid
{% if doid %} {% if doid %}

View File

@ -2,9 +2,9 @@
SELECT SELECT
d.typname as name, bn.nspname as basensp d.typname as name, bn.nspname as basensp
FROM FROM
pg_type d pg_catalog.pg_type d
JOIN JOIN
pg_namespace bn ON bn.oid=d.typnamespace pg_catalog.pg_namespace bn ON bn.oid=d.typnamespace
WHERE WHERE
d.typnamespace = {{scid}}::oid d.typnamespace = {{scid}}::oid
AND AND

View File

@ -1,9 +1,9 @@
SELECT --nspname, collname, SELECT --nspname, collname,
CASE WHEN length(nspname::text) > 0 AND length(collname::text) > 0 THEN CASE WHEN length(nspname::text) > 0 AND length(collname::text) > 0 THEN
concat(nspname, '."', collname,'"') pg_catalog.concat(nspname, '."', collname,'"')
ELSE '' END AS copy_collation ELSE '' END AS copy_collation
FROM FROM
pg_collation c, pg_namespace n pg_catalog.pg_collation c, pg_catalog.pg_namespace n
WHERE WHERE
c.collnamespace=n.oid c.collnamespace=n.oid
ORDER BY ORDER BY

View File

@ -1,14 +1,14 @@
SELECT SELECT
'DOMAIN' AS objectkind, c.oid as conoid, conname, typname as relname, nspname, description, 'DOMAIN' AS objectkind, c.oid as conoid, conname, typname as relname, nspname, description,
regexp_replace(pg_get_constraintdef(c.oid, true), E'CHECK \\((.*)\\).*', E'\\1') as cons pg_catalog.regexp_replace(pg_catalog.pg_get_constraintdef(c.oid, true), E'CHECK \\((.*)\\).*', E'\\1') as cons
FROM FROM
pg_constraint c pg_catalog.pg_constraint c
JOIN JOIN
pg_type t ON t.oid=contypid pg_catalog.pg_type t ON t.oid=contypid
JOIN JOIN
pg_namespace nl ON nl.oid=typnamespace pg_catalog.pg_namespace nl ON nl.oid=typnamespace
LEFT OUTER JOIN LEFT OUTER JOIN
pg_description des ON (des.objoid=c.oid AND des.classoid='pg_constraint'::regclass) pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_constraint'::regclass)
WHERE WHERE
contype = 'c' contype = 'c'
AND contypid = {{doid}}::oid AND contypid = {{doid}}::oid

View File

@ -2,16 +2,16 @@
SELECT SELECT
d.typnamespace as scid d.typnamespace as scid
FROM FROM
pg_type d pg_catalog.pg_type d
WHERE WHERE
d.oid={{ doid }}::oid; d.oid={{ doid }}::oid;
{% else %} {% else %}
SELECT SELECT
d.oid d.oid
FROM FROM
pg_type d pg_catalog.pg_type d
JOIN JOIN
pg_namespace bn ON bn.oid=d.typnamespace pg_catalog.pg_namespace bn ON bn.oid=d.typnamespace
WHERE WHERE
bn.nspname = {{ basensp|qtLiteral }} bn.nspname = {{ basensp|qtLiteral }}
AND d.typname={{ name|qtLiteral }}; AND d.typname={{ name|qtLiteral }};

View File

@ -1,12 +1,12 @@
SELECT SELECT
d.oid, d.typname as name, pg_get_userbyid(d.typowner) as owner, d.oid, d.typname as name, pg_catalog.pg_get_userbyid(d.typowner) as owner,
bn.nspname as basensp bn.nspname as basensp
FROM FROM
pg_type d pg_catalog.pg_type d
JOIN JOIN
pg_type b ON b.oid = d.typbasetype pg_catalog.pg_type b ON b.oid = d.typbasetype
JOIN JOIN
pg_namespace bn ON bn.oid=d.typnamespace pg_catalog.pg_namespace bn ON bn.oid=d.typnamespace
{% if scid %} {% if scid %}
WHERE WHERE
d.typnamespace = {{scid}}::oid d.typnamespace = {{scid}}::oid

View File

@ -1,31 +1,31 @@
SELECT SELECT
d.oid, d.typname as name, d.typbasetype, format_type(b.oid,NULL) as basetype, d.oid, d.typname as name, d.typbasetype, pg_catalog.format_type(b.oid,NULL) as basetype,
pg_get_userbyid(d.typowner) as owner, pg_catalog.pg_get_userbyid(d.typowner) as owner,
c.oid AS colloid, format_type(b.oid, d.typtypmod) AS fulltype, c.oid AS colloid, pg_catalog.format_type(b.oid, d.typtypmod) AS fulltype,
CASE WHEN length(cn.nspname::text) > 0 AND length(c.collname::text) > 0 THEN CASE WHEN length(cn.nspname::text) > 0 AND length(c.collname::text) > 0 THEN
concat(cn.nspname, '."', c.collname,'"') pg_catalog.concat(cn.nspname, '."', c.collname,'"')
ELSE '' END AS collname, ELSE '' END AS collname,
d.typtypmod, d.typnotnull, d.typdefault, d.typndims, d.typdelim, bn.nspname as basensp, d.typtypmod, d.typnotnull, d.typdefault, d.typndims, d.typdelim, bn.nspname as basensp,
description, (SELECT COUNT(1) FROM pg_type t2 WHERE t2.typname=d.typname) > 1 AS domisdup, description, (SELECT COUNT(1) FROM pg_catalog.pg_type t2 WHERE t2.typname=d.typname) > 1 AS domisdup,
(SELECT COUNT(1) FROM pg_type t3 WHERE t3.typname=b.typname) > 1 AS baseisdup, (SELECT COUNT(1) FROM pg_catalog.pg_type t3 WHERE t3.typname=b.typname) > 1 AS baseisdup,
(SELECT (SELECT
array_agg(provider || '=' || label) pg_catalog.array_agg(provider || '=' || label)
FROM FROM
pg_seclabel sl1 pg_catalog.pg_seclabel sl1
WHERE WHERE
sl1.objoid=d.oid) AS seclabels sl1.objoid=d.oid) AS seclabels
FROM FROM
pg_type d pg_catalog.pg_type d
JOIN JOIN
pg_type b ON b.oid = d.typbasetype pg_catalog.pg_type b ON b.oid = d.typbasetype
JOIN JOIN
pg_namespace bn ON bn.oid=d.typnamespace pg_catalog.pg_namespace bn ON bn.oid=d.typnamespace
LEFT OUTER JOIN LEFT OUTER JOIN
pg_description des ON (des.objoid=d.oid AND des.classoid='pg_type'::regclass) pg_catalog.pg_description des ON (des.objoid=d.oid AND des.classoid='pg_type'::regclass)
LEFT OUTER JOIN LEFT OUTER JOIN
pg_collation c ON d.typcollation=c.oid pg_catalog.pg_collation c ON d.typcollation=c.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_namespace cn ON c.collnamespace=cn.oid pg_catalog.pg_namespace cn ON c.collnamespace=cn.oid
WHERE WHERE
d.typnamespace = {{scid}}::oid d.typnamespace = {{scid}}::oid
{% if doid %} {% if doid %}

View File

@ -1,9 +1,9 @@
SELECT SELECT
oid as conoid, conname, contype, oid as conoid, conname, contype,
BTRIM(substring(pg_get_constraintdef(oid, true) from '\(.+\)'), '()') as consrc, pg_catalog.BTRIM(substring(pg_catalog.pg_get_constraintdef(oid, true) from '\(.+\)'), '()') as consrc,
connoinherit, convalidated, conislocal connoinherit, convalidated, conislocal
FROM FROM
pg_constraint pg_catalog.pg_constraint
WHERE WHERE
conrelid={{foid}}::oid conrelid={{foid}}::oid
ORDER by conname; ORDER by conname;

View File

@ -1,7 +1,7 @@
SELECT SELECT
COALESCE(gt.rolname, 'PUBLIC') AS grantee, COALESCE(gt.rolname, 'PUBLIC') AS grantee,
g.rolname AS grantor, array_agg(privilege_type) AS privileges, g.rolname AS grantor, pg_catalog.array_agg(privilege_type) AS privileges,
array_agg(is_grantable) AS grantable pg_catalog.array_agg(is_grantable) AS grantable
FROM FROM
(SELECT (SELECT
d.grantee, d.grantor, d.is_grantable, d.grantee, d.grantor, d.is_grantable,
@ -26,7 +26,7 @@ FROM
(d).is_grantable AS is_grantable, (d).is_grantable AS is_grantable,
(d).privilege_type AS privilege_type (d).privilege_type AS privilege_type
FROM FROM
(SELECT aclexplode(db.relacl) AS d FROM pg_class db (SELECT pg_catalog.aclexplode(db.relacl) AS d FROM pg_catalog.pg_class db
WHERE db.oid = {{foid}}::OID) a ORDER BY privilege_type WHERE db.oid = {{foid}}::OID) a ORDER BY privilege_type
) d ) d
) d ) d

View File

@ -2,9 +2,9 @@
SELECT SELECT
c.relname AS name, nspname as basensp c.relname AS name, nspname as basensp
FROM FROM
pg_class c pg_catalog.pg_class c
LEFT OUTER JOIN LEFT OUTER JOIN
pg_namespace nsp ON (nsp.oid=c.relnamespace) pg_catalog.pg_namespace nsp ON (nsp.oid=c.relnamespace)
WHERE WHERE
c.relnamespace = {{scid}}::oid c.relnamespace = {{scid}}::oid
AND AND

View File

@ -1,9 +1,9 @@
SELECT --nspname, collname, SELECT --nspname, collname,
CASE WHEN length(nspname::text) > 0 AND length(collname::text) > 0 THEN CASE WHEN length(nspname::text) > 0 AND length(collname::text) > 0 THEN
concat(nspname, '."', collname,'"') pg_catalog.concat(nspname, '."', collname,'"')
ELSE '' END AS copy_collation ELSE '' END AS copy_collation
FROM FROM
pg_collation c, pg_namespace n pg_catalog.pg_collation c, pg_catalog.pg_namespace n
WHERE WHERE
c.collnamespace=n.oid c.collnamespace=n.oid
ORDER BY nspname, collname; ORDER BY nspname, collname;

View File

@ -1,24 +1,24 @@
SELECT SELECT
attname, attndims, atttypmod, attoptions, attfdwoptions, format_type(t.oid,NULL) AS datatype, attname, attndims, atttypmod, attoptions, attfdwoptions, pg_catalog.format_type(t.oid,NULL) AS datatype,
attnotnull, attstattarget, attnum, format_type(t.oid, att.atttypmod) AS fulltype, attnotnull, attstattarget, attnum, format_type(t.oid, att.atttypmod) AS fulltype,
CASE WHEN length(cn.nspname::text) > 0 AND length(cl.collname::text) > 0 THEN CASE WHEN length(cn.nspname::text) > 0 AND length(cl.collname::text) > 0 THEN
concat(cn.nspname, '."', cl.collname,'"') ELSE '' END AS collname, concat(cn.nspname, '."', cl.collname,'"') ELSE '' END AS collname,
(SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup, (SELECT COUNT(1) from pg_catalog.pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup,
pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault
FROM FROM
pg_attribute att pg_catalog.pg_attribute att
JOIN JOIN
pg_type t ON t.oid=atttypid pg_catalog.pg_type t ON t.oid=atttypid
JOIN JOIN
pg_namespace nsp ON t.typnamespace=nsp.oid pg_catalog.pg_namespace nsp ON t.typnamespace=nsp.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_attrdef def ON adrelid=att.attrelid AND adnum=att.attnum pg_catalog.pg_attrdef def ON adrelid=att.attrelid AND adnum=att.attnum
LEFT OUTER JOIN LEFT OUTER JOIN
pg_type b ON t.typelem=b.oid pg_catalog.pg_type b ON t.typelem=b.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_collation cl ON att.attcollation=cl.oid pg_catalog.pg_collation cl ON att.attcollation=cl.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_namespace cn ON cl.collnamespace=cn.oid pg_catalog.pg_namespace cn ON cl.collnamespace=cn.oid
WHERE WHERE
att.attrelid={{foid}}::oid att.attrelid={{foid}}::oid
AND attnum>0 AND attnum>0

View File

@ -1,7 +1,7 @@
SELECT SELECT
conname, contype, consrc, conislocal conname, contype, consrc, conislocal
FROM FROM
pg_constraint pg_catalog.pg_constraint
WHERE WHERE
conrelid={{foid}}::oid conrelid={{foid}}::oid
ORDER by conname; ORDER by conname;

View File

@ -1,6 +1,6 @@
SELECT SELECT
srvname srvname
FROM FROM
pg_foreign_server pg_catalog.pg_foreign_server
ORDER BY ORDER BY
srvname; srvname;

View File

@ -1,24 +1,24 @@
SELECT SELECT
c.oid, c.relname AS name, c.relacl, pg_get_userbyid(relowner) AS owner, c.oid, c.relname AS name, c.relacl, pg_catalog.pg_get_userbyid(relowner) AS owner,
ftoptions, srvname AS ftsrvname, description, nspname as basensp, consrc, ftoptions, srvname AS ftsrvname, description, nspname as basensp, consrc,
(SELECT (SELECT
array_agg(provider || '=' || label) pg_catalog.array_agg(provider || '=' || label)
FROM FROM
pg_seclabel sl1 pg_catalog.pg_seclabel sl1
WHERE WHERE
sl1.objoid=c.oid) AS seclabels sl1.objoid=c.oid) AS seclabels
FROM FROM
pg_class c pg_catalog.pg_class c
JOIN JOIN
pg_foreign_table ft ON c.oid=ft.ftrelid pg_catalog.pg_foreign_table ft ON c.oid=ft.ftrelid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_foreign_server fs ON ft.ftserver=fs.oid pg_catalog.pg_foreign_server fs ON ft.ftserver=fs.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass) pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass)
LEFT OUTER JOIN LEFT OUTER JOIN
pg_namespace nsp ON (nsp.oid=c.relnamespace) pg_catalog.pg_namespace nsp ON (nsp.oid=c.relnamespace)
LEFT OUTER JOIN LEFT OUTER JOIN
pg_constraint cn ON (cn.conrelid=c.oid) pg_catalog.pg_constraint cn ON (cn.conrelid=c.oid)
WHERE WHERE
c.relnamespace = {{scid}}::oid c.relnamespace = {{scid}}::oid
{% if foid %} {% if foid %}

View File

@ -1,42 +1,42 @@
WITH INH_TABLES AS WITH INH_TABLES AS
(SELECT (SELECT
distinct on (at.attname) attname, ph.inhparent AS inheritedid, ph.inhseqno, distinct on (at.attname) attname, ph.inhparent AS inheritedid, ph.inhseqno,
concat(nmsp_parent.nspname, '.',parent.relname ) AS inheritedfrom pg_catalog.concat(nmsp_parent.nspname, '.',parent.relname ) AS inheritedfrom
FROM FROM
pg_attribute at pg_catalog.pg_attribute at
JOIN JOIN
pg_inherits ph ON ph.inhparent = at.attrelid AND ph.inhrelid = {{foid}}::oid pg_catalog.pg_inherits ph ON ph.inhparent = at.attrelid AND ph.inhrelid = {{foid}}::oid
JOIN JOIN
pg_class parent ON ph.inhparent = parent.oid pg_catalog.pg_class parent ON ph.inhparent = parent.oid
JOIN JOIN
pg_namespace nmsp_parent ON nmsp_parent.oid = parent.relnamespace pg_catalog.pg_namespace nmsp_parent ON nmsp_parent.oid = parent.relnamespace
GROUP BY at.attname, ph.inhparent, ph.inhseqno, inheritedfrom GROUP BY at.attname, ph.inhparent, ph.inhseqno, inheritedfrom
ORDER BY at.attname, ph.inhparent, ph.inhseqno, inheritedfrom ORDER BY at.attname, ph.inhparent, ph.inhseqno, inheritedfrom
) )
SELECT INH.inheritedfrom, INH.inheritedid, att.attoptions, attfdwoptions, SELECT INH.inheritedfrom, INH.inheritedid, att.attoptions, attfdwoptions,
att.attname, att.attndims, att.atttypmod, format_type(t.oid,NULL) AS datatype, att.attname, att.attndims, att.atttypmod, pg_catalog.format_type(t.oid,NULL) AS datatype,
att.attnotnull, att.attstattarget, att.attnum, format_type(t.oid, att.atttypmod) AS fulltype, att.attnotnull, att.attstattarget, att.attnum, pg_catalog.format_type(t.oid, att.atttypmod) AS fulltype,
CASE WHEN length(cn.nspname::text) > 0 AND length(cl.collname::text) > 0 THEN CASE WHEN length(cn.nspname::text) > 0 AND length(cl.collname::text) > 0 THEN
concat(cn.nspname, '."', cl.collname,'"') pg_catalog.concat(cn.nspname, '."', cl.collname,'"')
ELSE '' END AS collname, ELSE '' END AS collname,
pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault, pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault,
(SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup (SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup
FROM FROM
pg_attribute att pg_catalog.pg_attribute att
LEFT JOIN LEFT JOIN
INH_TABLES as INH ON att.attname = INH.attname INH_TABLES as INH ON att.attname = INH.attname
JOIN JOIN
pg_type t ON t.oid=atttypid pg_catalog.pg_type t ON t.oid=atttypid
JOIN JOIN
pg_namespace nsp ON t.typnamespace=nsp.oid pg_catalog.pg_namespace nsp ON t.typnamespace=nsp.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_attrdef def ON adrelid=att.attrelid AND adnum=att.attnum pg_catalog.pg_attrdef def ON adrelid=att.attrelid AND adnum=att.attnum
LEFT OUTER JOIN LEFT OUTER JOIN
pg_type b ON t.typelem=b.oid pg_catalog.pg_type b ON t.typelem=b.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_collation cl ON att.attcollation=cl.oid pg_catalog.pg_collation cl ON att.attcollation=cl.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_namespace cn ON cl.collnamespace=cn.oid pg_catalog.pg_namespace cn ON cl.collnamespace=cn.oid
WHERE WHERE
att.attrelid={{foid}}::oid att.attrelid={{foid}}::oid
AND att.attnum>0 AND att.attnum>0

View File

@ -1,7 +1,7 @@
SELECT SELECT
oid as conoid, conname, contype, consrc, connoinherit, convalidated, conislocal oid as conoid, conname, contype, consrc, connoinherit, convalidated, conislocal
FROM FROM
pg_constraint pg_catalog.pg_constraint
WHERE WHERE
conrelid={{foid}}::oid conrelid={{foid}}::oid
ORDER by conname; ORDER by conname;

View File

@ -1,6 +1,6 @@
SELECT SELECT
srvname srvname
FROM FROM
pg_foreign_server pg_catalog.pg_foreign_server
ORDER ORDER
BY srvname; BY srvname;

View File

@ -1,14 +1,14 @@
{% if attrelid %} {% if attrelid %}
SELECT SELECT
a.attname, format_type(a.atttypid, NULL) AS datatype, a.attname, pg_catalog.format_type(a.atttypid, NULL) AS datatype,
quote_ident(n.nspname)||'.'||quote_ident(c.relname) as inheritedfrom, quote_ident(n.nspname)||'.'||quote_ident(c.relname) as inheritedfrom,
c.oid as inheritedid c.oid as inheritedid
FROM FROM
pg_class c pg_catalog.pg_class c
JOIN JOIN
pg_namespace n ON c.relnamespace=n.oid pg_catalog.pg_namespace n ON c.relnamespace=n.oid
JOIN JOIN
pg_attribute a ON a.attrelid = c.oid AND NOT a.attisdropped AND a.attnum>0 pg_catalog.pg_attribute a ON a.attrelid = c.oid AND NOT a.attisdropped AND a.attnum>0
WHERE WHERE
c.oid = {{attrelid}}::OID c.oid = {{attrelid}}::OID
{% endif %} {% endif %}

View File

@ -1,9 +1,9 @@
{% import 'foreign_tables/sql/macros/db_catalogs.macro' as CATALOG %} {% import 'foreign_tables/sql/macros/db_catalogs.macro' as CATALOG %}
{% if attrelid %} {% if attrelid %}
SELECT SELECT
array_agg(quote_ident(n.nspname) || '.' || quote_ident(c.relname)) as inherits pg_catalog.array_agg(quote_ident(n.nspname) || '.' || quote_ident(c.relname)) as inherits
FROM FROM
pg_class c, pg_namespace n pg_catalog.pg_class c, pg_catalog.pg_namespace n
WHERE WHERE
c.relnamespace=n.oid AND c.relkind IN ('r', 'f') c.relnamespace=n.oid AND c.relkind IN ('r', 'f')
AND c.oid in {{attrelid}}; AND c.oid in {{attrelid}};
@ -12,7 +12,7 @@ WHERE
SELECT SELECT
c.oid AS value, quote_ident(n.nspname) || '.' || quote_ident(c.relname) as label c.oid AS value, quote_ident(n.nspname) || '.' || quote_ident(c.relname) as label
FROM FROM
pg_class c, pg_namespace n pg_catalog.pg_class c, pg_catalog.pg_namespace n
WHERE WHERE
c.relnamespace=n.oid AND c.relkind IN ('r', 'f') c.relnamespace=n.oid AND c.relkind IN ('r', 'f')
{% if not show_system_objects %} {% if not show_system_objects %}

View File

@ -1,10 +1,10 @@
SELECT SELECT
c.oid, c.relname AS name, c.relacl, pg_get_userbyid(relowner) AS owner, c.oid, c.relname AS name, c.relacl, pg_catalog.pg_get_userbyid(relowner) AS owner,
ftoptions, srvname AS ftsrvname, description, nspname AS basensp, ftoptions, srvname AS ftsrvname, description, nspname AS basensp,
(SELECT (SELECT
array_agg(provider || '=' || label) array_agg(provider || '=' || label)
FROM FROM
pg_seclabel sl1 pg_catalog.pg_seclabel sl1
WHERE WHERE
sl1.objoid=c.oid) AS seclabels sl1.objoid=c.oid) AS seclabels
{% if foid %}, {% if foid %},
@ -14,15 +14,15 @@ SELECT
i.inhrelid = {{foid}}::oid GROUP BY i.inhrelid) AS inherits i.inhrelid = {{foid}}::oid GROUP BY i.inhrelid) AS inherits
{% endif %} {% endif %}
FROM FROM
pg_class c pg_catalog.pg_class c
JOIN JOIN
pg_foreign_table ft ON c.oid=ft.ftrelid pg_catalog.pg_foreign_table ft ON c.oid=ft.ftrelid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_foreign_server fs ON ft.ftserver=fs.oid pg_catalog.pg_foreign_server fs ON ft.ftserver=fs.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass) pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass)
LEFT OUTER JOIN LEFT OUTER JOIN
pg_namespace nsp ON (nsp.oid=c.relnamespace) pg_catalog.pg_namespace nsp ON (nsp.oid=c.relnamespace)
WHERE WHERE
c.relnamespace = {{scid}}::oid c.relnamespace = {{scid}}::oid
{% if foid %} {% if foid %}

View File

@ -2,9 +2,9 @@
SELECT SELECT
c.relname AS name, nspname as basensp c.relname AS name, nspname as basensp
FROM FROM
pg_class c pg_catalog.pg_class c
LEFT OUTER JOIN LEFT OUTER JOIN
pg_namespace nsp ON (nsp.oid=c.relnamespace) pg_catalog.pg_namespace nsp ON (nsp.oid=c.relnamespace)
WHERE WHERE
c.relnamespace = {{scid}}::oid c.relnamespace = {{scid}}::oid
AND c.oid = {{foid}}::oid; AND c.oid = {{foid}}::oid;

View File

@ -1,9 +1,9 @@
SELECT --nspname, collname, SELECT --nspname, collname,
CASE WHEN length(nspname::text) > 0 AND length(collname::text) > 0 THEN CASE WHEN length(nspname::text) > 0 AND length(collname::text) > 0 THEN
concat(nspname, '."', collname,'"') pg_catalog.concat(nspname, '."', collname,'"')
ELSE '' END AS copy_collation ELSE '' END AS copy_collation
FROM FROM
pg_collation c, pg_namespace n pg_catalog.pg_collation c, pg_namespace n
WHERE WHERE
c.collnamespace=n.oid c.collnamespace=n.oid
ORDER BY ORDER BY

View File

@ -1,15 +1,15 @@
SELECT SELECT
attname, attndims, atttypmod, format_type(t.oid,NULL) AS datatype, attname, attndims, atttypmod, pg_catalog.format_type(t.oid,NULL) AS datatype,
format_type(t.oid, att.atttypmod) AS fulltype, attnotnull, attnum, pg_catalog.format_type(t.oid, att.atttypmod) AS fulltype, attnotnull, attnum,
(SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup (SELECT COUNT(1) from pg_catalog.pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup
FROM FROM
pg_attribute att pg_catalog.pg_attribute att
JOIN JOIN
pg_type t ON t.oid=atttypid pg_catalog.pg_type t ON t.oid=atttypid
JOIN JOIN
pg_namespace nsp ON t.typnamespace=nsp.oid pg_catalog.pg_namespace nsp ON t.typnamespace=nsp.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_type b ON t.typelem=b.oid pg_catalog.pg_type b ON t.typelem=b.oid
WHERE WHERE
att.attrelid={{foid}}::oid att.attrelid={{foid}}::oid
AND attnum>0 AND attnum>0

View File

@ -1,7 +1,7 @@
SELECT SELECT
conname, contype, consrc conname, contype, consrc
FROM FROM
pg_constraint pg_catalog.pg_constraint
WHERE WHERE
conrelid={{foid}}::oid conrelid={{foid}}::oid
ORDER by conname; ORDER by conname;

View File

@ -1,5 +1,5 @@
SELECT SELECT
srvname srvname
FROM FROM
pg_foreign_server pg_catalog.pg_foreign_server
ORDER BY srvname; ORDER BY srvname;

View File

@ -2,9 +2,9 @@
SELECT SELECT
c.oid, bn.oid as scid c.oid, bn.oid as scid
FROM FROM
pg_class c pg_catalog.pg_class c
JOIN JOIN
pg_namespace bn ON bn.oid=c.relnamespace pg_catalog.pg_namespace bn ON bn.oid=c.relnamespace
WHERE WHERE
bn.nspname = {{ basensp|qtLiteral }} bn.nspname = {{ basensp|qtLiteral }}
AND c.relname={{ name|qtLiteral }}; AND c.relname={{ name|qtLiteral }};
@ -13,7 +13,7 @@ WHERE
SELECT SELECT
c.relnamespace as scid c.relnamespace as scid
FROM FROM
pg_class c pg_catalog.pg_class c
WHERE WHERE
c.oid = {{foid}}::oid; c.oid = {{foid}}::oid;
{% endif %} {% endif %}

View File

@ -1,14 +1,14 @@
SELECT SELECT
c.oid, c.relname AS name, pg_get_userbyid(relowner) AS owner, c.oid, c.relname AS name, pg_catalog.pg_get_userbyid(relowner) AS owner,
ftoptions, nspname as basensp, description ftoptions, nspname as basensp, description
FROM FROM
pg_class c pg_catalog.pg_class c
JOIN JOIN
pg_foreign_table ft ON c.oid=ft.ftrelid pg_catalog.pg_foreign_table ft ON c.oid=ft.ftrelid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_namespace nsp ON (nsp.oid=c.relnamespace) pg_catalog.pg_namespace nsp ON (nsp.oid=c.relnamespace)
LEFT OUTER JOIN LEFT OUTER JOIN
pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass) pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass)
WHERE WHERE
{% if scid %} {% if scid %}
c.relnamespace = {{scid}}::oid c.relnamespace = {{scid}}::oid

View File

@ -1,22 +1,22 @@
SELECT SELECT
c.oid, c.relname AS name, pg_get_userbyid(relowner) AS owner, c.oid, c.relname AS name, pg_catalog.pg_get_userbyid(relowner) AS owner,
ftoptions, srvname AS ftsrvname, description, nspname as basensp, ftoptions, srvname AS ftsrvname, description, nspname as basensp,
(SELECT (SELECT
array_agg(provider || '=' || label) pg_catalog.array_agg(provider || '=' || label)
FROM FROM
pg_seclabel sl1 pg_catalog.pg_seclabel sl1
WHERE WHERE
sl1.objoid=c.oid) AS seclabels sl1.objoid=c.oid) AS seclabels
FROM FROM
pg_class c pg_catalog.pg_class c
JOIN JOIN
pg_foreign_table ft ON c.oid=ft.ftrelid pg_catalog.pg_foreign_table ft ON c.oid=ft.ftrelid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_foreign_server fs ON ft.ftserver=fs.oid pg_catalog.pg_foreign_server fs ON ft.ftserver=fs.oid
LEFT OUTER JOIN LEFT OUTER JOIN
pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass) pg_catalog.pg_description des ON (des.objoid=c.oid AND des.classoid='pg_class'::regclass)
LEFT OUTER JOIN LEFT OUTER JOIN
pg_namespace nsp ON (nsp.oid=c.relnamespace) pg_catalog.pg_namespace nsp ON (nsp.oid=c.relnamespace)
WHERE WHERE
c.relnamespace = {{scid}}::oid c.relnamespace = {{scid}}::oid
{% if foid %} {% if foid %}

View File

@ -1,14 +1,14 @@
{% import 'foreign_tables/sql/macros/db_catalogs.macro' as CATALOG %} {% import 'foreign_tables/sql/macros/db_catalogs.macro' as CATALOG %}
typisdefined AND typtype IN ('b', 'c', 'd', 'e', 'r') typisdefined AND typtype IN ('b', 'c', 'd', 'e', 'r')
AND NOT EXISTS ( AND NOT EXISTS (
SELECT 1 FROM pg_class SELECT 1 FROM pg_catalog.pg_class
WHERE relnamespace=typnamespace WHERE relnamespace=typnamespace
AND relname = typname AND relkind != 'c') AND relname = typname AND relkind != 'c')
AND (typname NOT LIKE '_%' OR NOT EXISTS ( AND (typname NOT LIKE '_%' OR NOT EXISTS (
SELECT 1 FROM pg_class SELECT 1 FROM pg_catalog.pg_class
WHERE relnamespace=typnamespace WHERE relnamespace=typnamespace
AND relname = substring(typname FROM 2)::name AND relname = substring(typname FROM 2)::name
AND relkind != 'c')) AND relkind != 'c'))
{% if not show_system_objects %} {% if not show_system_objects %}
{{ CATALOG.VALID_TYPE_CATALOGS(server_type) }} {{ CATALOG.VALID_TYPE_CATALOGS(server_type) }}
{% endif %} {% endif %}

View File

@ -6,10 +6,10 @@ SELECT
nspname, nspname,
n.oid as schemaoid n.oid as schemaoid
FROM FROM
pg_ts_config cfg pg_catalog.pg_ts_config cfg
JOIN pg_namespace n JOIN pg_catalog.pg_namespace n
ON n.oid=cfgnamespace ON n.oid=cfgnamespace
ORDER BY ORDER BY
nspname, nspname,
cfgname cfgname
{% endif %} {% endif %}

View File

@ -1,8 +1,8 @@
{# FETCH DICTIONARIES statement #} {# FETCH DICTIONARIES statement #}
SELECT SELECT
CASE WHEN (pg_ns.nspname != 'pg_catalog') THEN CASE WHEN (pg_ns.nspname != 'pg_catalog') THEN
CONCAT(pg_ns.nspname, '.', pg_td.dictname) pg_catalog.CONCAT(pg_ns.nspname, '.', pg_td.dictname)
ELSE pg_td.dictname END AS dictname ELSE pg_td.dictname END AS dictname
FROM pg_ts_dict pg_td FROM pg_catalog.pg_ts_dict pg_td
LEFT OUTER JOIN pg_namespace pg_ns LEFT OUTER JOIN pg_catalog.pg_namespace pg_ns
ON pg_td.dictnamespace = pg_ns.oid; ON pg_td.dictnamespace = pg_ns.oid;

View File

@ -6,12 +6,12 @@ SELECT
SELECT SELECT
nspname nspname
FROM FROM
pg_namespace pg_catalog.pg_namespace
WHERE WHERE
oid = cfg.cfgnamespace oid = cfg.cfgnamespace
) as schema ) as schema
FROM FROM
pg_ts_config cfg pg_catalog.pg_ts_config cfg
WHERE WHERE
cfg.oid = {{cfgid}}::OID; cfg.oid = {{cfgid}}::OID;
{% endif %} {% endif %}

Some files were not shown because too many files have changed in this diff Show More