1
SELECT (current_database())::character varying(256) AS f_table_catalog,2
n.nspname AS f_table_schema,3
c.relname AS f_table_name,4
a.attname AS f_geometry_column,5
COALESCE(postgis_typmod_dims(a.atttypmod), sn.ndims, 2) AS coord_dimension,6
COALESCE(NULLIF(postgis_typmod_srid(a.atttypmod), 0), sr.srid, 0) AS srid,7
(replace(replace(COALESCE(NULLIF(upper(postgis_typmod_type(a.atttypmod)), 'GEOMETRY'::text), st.type, 'GEOMETRY'::text), 'ZM'::text, ''::text), 'Z'::text, ''::text))::character varying(30) AS type8
FROM ((((((pg_class c9
JOIN pg_attribute a ON (((a.attrelid = c.oid) AND (NOT a.attisdropped))))10
JOIN pg_namespace n ON ((c.relnamespace = n.oid)))11
JOIN pg_type t ON ((a.atttypid = t.oid)))12
LEFT JOIN ( SELECT s.connamespace,13
s.conrelid,14
s.conkey,15
replace(split_part(s.consrc, ''''::text, 2), ')'::text, ''::text) AS type16
FROM pg_constraint s17
WHERE (s.consrc ~~* '%geometrytype(% = %'::text)) st ON (((st.connamespace = n.oid) AND (st.conrelid = c.oid) AND (a.attnum = ANY (st.conkey)))))18
LEFT JOIN ( SELECT s.connamespace,19
s.conrelid,20
s.conkey,21
(replace(split_part(s.consrc, ' = '::text, 2), ')'::text, ''::text))::integer AS ndims22
FROM pg_constraint s23
WHERE (s.consrc ~~* '%ndims(% = %'::text)) sn ON (((sn.connamespace = n.oid) AND (sn.conrelid = c.oid) AND (a.attnum = ANY (sn.conkey)))))24
LEFT JOIN ( SELECT s.connamespace,25
s.conrelid,26
s.conkey,27
(replace(replace(split_part(s.consrc, ' = '::text, 2), ')'::text, ''::text), '('::text, ''::text))::integer AS srid28
FROM pg_constraint s29
WHERE (s.consrc ~~* '%srid(% = %'::text)) sr ON (((sr.connamespace = n.oid) AND (sr.conrelid = c.oid) AND (a.attnum = ANY (sr.conkey)))))30
WHERE ((c.relkind = ANY (ARRAY['r'::"char", 'v'::"char", 'm'::"char", 'f'::"char", 'p'::"char"])) AND (NOT (c.relname = 'raster_columns'::name)) AND (t.typname = 'geometry'::name) AND (NOT pg_is_other_temp_schema(c.relnamespace)) AND has_table_privilege(c.oid, 'SELECT'::text));

