A visão key_column_usage identifica todas as colunas no banco de dados corrente restringidas por alguma restrição de unicidade, chave primária ou chave estrangeira. As restrições de verificação não estão incluídas nesta visão. São mostradas apenas as colunas para as quais o usuário corrente tem acesso, por ser o dono ou por ter algum privilégio.
Tabela 35.30. Colunas de key_column_usage
Coluna Tipo de dados Descrição |
|---|
Nome do banco de dados que contém a restrição (sempre o banco de dados corrente) |
Nome do esquema que contém a restrição |
Nome da restrição |
Nome do banco de dados que contém a tabela que contém a coluna restringida por esta restrição (sempre o banco de dados corrente) |
Nome do esquema que contém a tabela que contém a coluna restringida por esta restrição |
Nome da tabela que contém a coluna restringida por esta restrição |
Nome da coluna restringida por esta restrição |
Posição ordinal da coluna dentro da chave de restrição (contado a partir de 1) |
Para uma restrição de chave estrangeira, a posição ordinal da coluna referenciada dentro de sua restrição de unicidade (contado a partir de 1); caso contrário nula |
Exemplo 35.30. Exemplo do tradutor
Colunas restringidas
Uso do esquema de informações para mostrar todas as colunas no banco de dados cristina da usuária cristina restringidas por alguma restrição de unicidade, chave primária ou chave estrangeira.
SELECT *
FROM information_schema.key_column_usage
WHERE constraint_schema IN ('public', 'tutorial')
ORDER BY constraint_name, table_name, ordinal_position\gx
-[ RECORD 1 ]-----------------+---------------------- constraint_catalog | cristina constraint_schema | public constraint_name | bug_pkey table_catalog | cristina table_schema | public table_name | bug column_name | id ordinal_position | 1 position_in_unique_constraint | -[ RECORD 2 ]-----------------+---------------------- constraint_catalog | cristina constraint_schema | tutorial constraint_name | cidades_pkey table_catalog | cristina table_schema | tutorial table_name | cidades column_name | nome ordinal_position | 1 position_in_unique_constraint | -[ RECORD 3 ]-----------------+---------------------- constraint_catalog | cristina constraint_schema | tutorial constraint_name | clima_cidade_fkey table_catalog | cristina table_schema | tutorial table_name | clima column_name | cidade ordinal_position | 1 position_in_unique_constraint | 1 -[ RECORD 4 ]-----------------+---------------------- constraint_catalog | cristina constraint_schema | public constraint_name | papel_iso_216_pkey table_catalog | cristina table_schema | public table_name | papel_iso_216 column_name | codigo ordinal_position | 1 position_in_unique_constraint | -[ RECORD 5 ]-----------------+---------------------- constraint_catalog | cristina constraint_schema | public constraint_name | pessoa_pkey table_catalog | cristina table_schema | public table_name | pessoa column_name | id ordinal_position | 1 position_in_unique_constraint | -[ RECORD 6 ]-----------------+---------------------- constraint_catalog | cristina constraint_schema | public constraint_name | teste_pkey table_catalog | cristina table_schema | public table_name | teste column_name | chave ordinal_position | 1 position_in_unique_constraint | -[ RECORD 7 ]-----------------+---------------------- constraint_catalog | cristina constraint_schema | public constraint_name | unq_tamanho_gramatura table_catalog | cristina table_schema | public table_name | papel_iso_216 column_name | tamanho ordinal_position | 1 position_in_unique_constraint | -[ RECORD 8 ]-----------------+---------------------- constraint_catalog | cristina constraint_schema | public constraint_name | unq_tamanho_gramatura table_catalog | cristina table_schema | public table_name | papel_iso_216 column_name | gramatura ordinal_position | 2 position_in_unique_constraint |