35.52. table_constraints #

A visão table_constraints contém todas as restrições pertencentes às tabelas que o usuário corrente possui ou tem algum privilégio diferente de SELECT.

Tabela 35.50. Colunas de table_constraints

Coluna Tipo de dados

Descrição

constraint_catalog sql_identifier

Nome do banco de dados que contém a restrição (sempre o banco de dados corrente)

constraint_schema sql_identifier

Nome do esquema que contém a restrição

constraint_name sql_identifier

Nome da restrição

table_catalog sql_identifier

Nome do banco de dados que contém a tabela (sempre o banco de dados corrente)

table_schema sql_identifier

Nome do esquema que contém a tabela

table_name sql_identifier

Nome da tabela

constraint_type character_data

Tipo da restrição: CHECK (inclui restrições de não-nulo), FOREIGN KEY, PRIMARY KEY ou UNIQUE

is_deferrable yes_or_no

YES se a restrição for postergável, NO caso contrário

initially_deferred yes_or_no

YES se a restrição for postergável e inicialmente postergada, NO caso contrário

enforced yes_or_no

YES se a restrição for forçada, NO caso contrário

nulls_distinct yes_or_no

Se a restrição for uma restrição de unicidade, então YES se a restrição tratar valores nulos como distintos, ou NO se tratar valores nulos como não distintos. Nula para outros tipos de restrições.


Exemplo 35.48. Exemplo do tradutor

Restrições de chave estrangeira ou de unicidade

Uso do esquema de informações para mostrar todas as restrições de chave estrangeira ou de unicidade pertencentes às tabelas que a usuária cristina possui ou tem algum privilégio.

SELECT *
FROM information_schema.table_constraints
WHERE constraint_type IN  ('FOREIGN KEY', 'UNIQUE')\gx

-[ RECORD 1 ]------+----------------------
constraint_catalog | cristina
constraint_schema  | public
constraint_name    | unq_tamanho_gramatura
table_catalog      | cristina
table_schema       | public
table_name         | papel_iso_216
constraint_type    | UNIQUE
is_deferrable      | NO
initially_deferred | NO
enforced           | YES
nulls_distinct     | YES
-[ RECORD 2 ]------+----------------------
constraint_catalog | cristina
constraint_schema  | tutorial
constraint_name    | clima_cidade_fkey
table_catalog      | cristina
table_schema       | tutorial
table_name         | clima
constraint_type    | FOREIGN KEY
is_deferrable      | NO
initially_deferred | NO
enforced           | YES
nulls_distinct     |