Name: | constraint_column_usage |
Owner: | postgres |
Has rules: | |
Has Triggers: | |
Comment: |
Name | Type | Length | |
|
table_catalog | sql_identifier | -1 |
|
table_schema | sql_identifier | -1 |
|
table_name | sql_identifier | -1 |
|
column_name | sql_identifier | -1 |
|
constraint_catalog | sql_identifier | -1 |
|
constraint_schema | sql_identifier | -1 |
|
constraint_name | sql_identifier | -1 |
CREATE VIEW constraint_column_usage AS
SELECT (current_database())::sql_identifier AS table_catalog, (x.tblschema)::sql_identifier AS table_schema, (x.tblname)::sql_identifier AS table_name, (x.colname)::sql_identifier AS column_name, (current_database())::sql_identifier AS constraint_catalog, (x.cstrschema)::sql_identifier AS constraint_schema, (x.cstrname)::sql_identifier AS constraint_name FROM ((SELECT DISTINCT nr.nspname, r.relname, r.relowner, a.attname, nc.nspname, c.conname FROM pg_namespace nr, pg_class r, pg_attribute a, pg_depend d, pg_namespace nc, pg_constraint c WHERE (((((((((((nr.oid = r.relnamespace) AND (r.oid = a.attrelid)) AND (d.refclassid = ('pg_class'::regclass)::oid)) AND (d.refobjid = r.oid)) AND (d.refobjsubid = a.attnum)) AND (d.classid = ('pg_constraint'::regclass)::oid)) AND (d.objid = c.oid)) AND (c.connamespace = nc.oid)) AND (c.contype = 'c'::"char")) AND (r.relkind = 'r'::"char")) AND (NOT a.attisdropped)) ORDER BY nr.nspname, r.relname, r.relowner, a.attname, nc.nspname, c.conname) UNION ALL SELECT nr.nspname, r.relname, r.relowner, a.attname, nc.nspname, c.conname FROM pg_namespace nr, pg_class r, pg_attribute a, pg_namespace nc, pg_constraint c WHERE (((((((nr.oid = r.relnamespace) AND (r.oid = a.attrelid)) AND (nc.oid = c.connamespace)) AND CASE WHEN (c.contype = 'f'::"char") THEN ((r.oid = c.confrelid) AND (a.attnum = ANY (c.confkey))) ELSE ((r.oid = c.conrelid) AND (a.attnum = ANY (c.conkey))) END) AND (NOT a.attisdropped)) AND (c.contype = ANY (ARRAY['p'::"char", 'u'::"char", 'f'::"char"]))) AND (r.relkind = 'r'::"char"))) x(tblschema, tblname, tblowner, colname, cstrschema, cstrname) WHERE pg_has_role(x.tblowner, 'USAGE'::text);
ALTER TABLE information_schema.constraint_column_usage OWNER TO postgres;
See Also
List of views