O catálogo pg_constraint armazena restrições de verificação, não-nulo, chave primária, unicidade, chave estrangeira e exclusão em tabelas. (As restrições de coluna não são tratadas de forma especial. Toda restrição de coluna é equivalente a alguma restrição de tabela.)
Gatilhos de restrição definidos pelo usuário (criados usando CREATE TRIGGER) também geram entrada nesta tabela.
As restrições de verificação em domínios também são armazenadas aqui.
Tabela 52.13. Colunas de pg_constraint
Coluna Tipo de dados Descrição |
|---|
Identificador da linha |
Nome da restrição (não necessariamente único!) |
OID do espaço de nomes que contém esta restrição |
|
A restrição é postergável? |
A restrição é postergada por padrão? |
A restrição é imposta? |
A restrição foi validada? |
Tabela em que esta restrição está ativa; zero se não for uma restrição de tabela |
Domínio em que esta restrição se encontra; zero se não for uma restrição de domínio |
O índice que dá suporte a esta restrição, se for uma restrição de unicidade, de chave primária, de chave estrangeira ou de exclusão; senão zero |
A restrição correspondente da tabela particionada mãe, se ela for uma restrição em uma partição; senão zero |
Se for uma chave estrangeira, a tabela referenciada; senão zero |
Código da ação de atualização da chave estrangeira:
|
Código da ação de exclusão da chave estrangeira:
|
Tipo de correspondência da chave estrangeira:
|
Esta restrição é definida localmente para a relação. Note que uma restrição pode ser definida localmente e herdada simultaneamente. |
O número de ancestrais de herança direta que esta restrição possui. Uma restrição com um número diferente de zero de ancestrais não pode ser excluída nem renomeada. |
Esta restrição é definida localmente para a relação. É uma restrição não herdável. |
Esta restrição é definida com |
Se for uma restrição de tabela (incluindo chaves estrangeiras, mas não restrições de gatilho), a lista das colunas restringidas |
Se for uma chave estrangeira, a lista das colunas referenciadas |
Se for uma chave estrangeira, a lista dos operadores de igualdade para comparações PK = FK |
Se for uma chave estrangeira, a lista dos operadores de igualdade para comparações PK = PK |
Se for uma chave estrangeira, a lista dos operadores de igualdade para comparações FK = FK |
Se for uma chave estrangeira com uma ação de exclusão
|
Se for uma restrição de exclusão ou uma restrição de chave
primária/unicidade |
Se for uma restrição de verificação, a representação
interna da expressão.
(Recomenda-se usar |
No caso de uma restrição de exclusão, conkey
só é útil para elementos de restrição que são simples referências de
coluna.
Para outros casos, aparece um zero em conkey
e o índice associado deve ser consultado para descobrir a expressão
que está restrita.
(Portanto,conkey tem o mesmo conteúdo que
pg_index.indkey para o índice.)
pg_class.relchecks precisa concordar com o número
de entradas de restrição de verificação encontradas nesta tabela para
cada relação.