Name: | table_constraints |
Owner: | postgres |
Has rules: | |
Has Triggers: | |
Comment: |
Name | Type | Length | |
|
constraint_catalog | varchar | -1 |
|
constraint_schema | varchar | -1 |
|
constraint_name | varchar | -1 |
|
table_catalog | varchar | -1 |
|
table_schema | varchar | -1 |
|
table_name | varchar | -1 |
|
constraint_type | varchar | -1 |
|
is_deferrable | varchar | -1 |
|
initially_deferred | varchar | -1 |
CREATE VIEW table_constraints AS
SELECT (current_database())::sql_identifier AS constraint_catalog, (nc.nspname)::sql_identifier AS constraint_schema, (c.conname)::sql_identifier AS constraint_name, (current_database())::sql_identifier AS table_catalog, (nr.nspname)::sql_identifier AS table_schema, (r.relname)::sql_identifier AS table_name, (CASE c.contype WHEN 'c'::"char" THEN 'CHECK'::text WHEN 'f'::"char" THEN 'FOREIGN KEY'::text WHEN 'p'::"char" THEN 'PRIMARY KEY'::text WHEN 'u'::"char" THEN 'UNIQUE'::text ELSE NULL::text END)::character_data AS constraint_type, (CASE WHEN c.condeferrable THEN 'YES'::text ELSE 'NO'::text END)::character_data AS is_deferrable, (CASE WHEN c.condeferred THEN 'YES'::text ELSE 'NO'::text END)::character_data AS initially_deferred FROM pg_namespace nc, pg_namespace nr, pg_constraint c, pg_class r WHERE ((((((nc.oid = c.connamespace) AND (nr.oid = r.relnamespace)) AND (c.conrelid = r.oid)) AND (r.relkind = 'r'::"char")) AND (NOT pg_is_other_temp_schema(nr.oid))) AND (((((pg_has_role(r.relowner, 'USAGE'::text) OR has_table_privilege(r.oid, 'INSERT'::text)) OR has_table_privilege(r.oid, 'UPDATE'::text)) OR has_table_privilege(r.oid, 'DELETE'::text)) OR has_table_privilege(r.oid, 'REFERENCES'::text)) OR has_table_privilege(r.oid, 'TRIGGER'::text))) UNION SELECT (current_database())::sql_identifier AS constraint_catalog, (nr.nspname)::sql_identifier AS constraint_schema, (((((((nr.oid)::text || '_'::text) || (r.oid)::text) || '_'::text) || (a.attnum)::text) || '_not_null'::text))::sql_identifier AS constraint_name, (current_database())::sql_identifier AS table_catalog, (nr.nspname)::sql_identifier AS table_schema, (r.relname)::sql_identifier AS table_name, ('CHECK'::character varying)::character_data AS constraint_type, ('NO'::character varying)::character_data AS is_deferrable, ('NO'::character varying)::character_data AS initially_deferred FROM pg_namespace nr, pg_class r, pg_attribute a WHERE ((((((((nr.oid = r.relnamespace) AND (r.oid = a.attrelid)) AND a.attnotnull) AND (a.attnum > 0)) AND (NOT a.attisdropped)) AND (r.relkind = 'r'::"char")) AND (NOT pg_is_other_temp_schema(nr.oid))) AND ((((((pg_has_role(r.relowner, 'USAGE'::text) OR has_table_privilege(r.oid, 'SELECT'::text)) OR has_table_privilege(r.oid, 'INSERT'::text)) OR has_table_privilege(r.oid, 'UPDATE'::text)) OR has_table_privilege(r.oid, 'DELETE'::text)) OR has_table_privilege(r.oid, 'REFERENCES'::text)) OR has_table_privilege(r.oid, 'TRIGGER'::text)));
ALTER TABLE information_schema.table_constraints OWNER TO postgres;
See Also
List of views