Name: | key_column_usage |
Owner: | postgres |
Has rules: | |
Has Triggers: | |
Comment: |
Name | Type | Length | |
|
constraint_catalog | sql_identifier | -1 |
|
constraint_schema | sql_identifier | -1 |
|
constraint_name | sql_identifier | -1 |
|
table_catalog | sql_identifier | -1 |
|
table_schema | sql_identifier | -1 |
|
table_name | sql_identifier | -1 |
|
column_name | sql_identifier | -1 |
|
ordinal_position | cardinal_number | -1 |
|
position_in_unique_constraint | cardinal_number | -1 |
CREATE VIEW key_column_usage AS
SELECT (current_database())::sql_identifier AS constraint_catalog, (ss.nc_nspname)::sql_identifier AS constraint_schema, (ss.conname)::sql_identifier AS constraint_name, (current_database())::sql_identifier AS table_catalog, (ss.nr_nspname)::sql_identifier AS table_schema, (ss.relname)::sql_identifier AS table_name, (a.attname)::sql_identifier AS column_name, ((ss.x).n)::cardinal_number AS ordinal_position, (CASE WHEN (ss.contype = 'f'::"char") THEN _pg_index_position(_pg_underlying_index(ss.coid), ss.confkey[(ss.x).n]) ELSE NULL::integer END)::cardinal_number AS position_in_unique_constraint FROM pg_attribute a, (SELECT r.oid AS roid, r.relname, nc.nspname AS nc_nspname, nr.nspname AS nr_nspname, c.oid AS coid, c.conname, c.contype, c.confkey, c.confrelid, _pg_expandarray(c.conkey) AS x FROM pg_namespace nr, pg_class r, pg_namespace nc, pg_constraint c WHERE (((((((nr.oid = r.relnamespace) AND (r.oid = c.conrelid)) AND (nc.oid = c.connamespace)) AND (c.contype = ANY (ARRAY['p'::"char", 'u'::"char", 'f'::"char"]))) 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, 'REFERENCES'::text)))) ss WHERE (((ss.roid = a.attrelid) AND (a.attnum = (ss.x).x)) AND (NOT a.attisdropped));
ALTER TABLE information_schema.key_column_usage OWNER TO postgres;
See Also
List of views