Como listar todas as restrições (chave primária, cheque, exclusivo mútuo exclusivo, ..) de uma tabela no PostgreSQL?
relate perguntas
-
Posso ativar o PITR depois que o banco de dados foi usado
-
Práticas recomendadas para executar a replicação atrasada do deslocamento de tempo
-
Os procedimentos armazenados impedem a injeção de SQL?
-
Sequências Biológicas do UniProt no PostgreSQL
-
Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?
As restrições podem ser recuperadas via
pg_catalog.pg_constraint
.Substitua
<schema name>
pelo nome do seu esquema e<table name>
pelo nome da sua tabela.Na
psql
linha de comando esta informação está na folha de tabela, obtida com o\d+
comando.d+
também informa sobre asNOT NULL
restrições, algo que não está presente napg_catalog.pg_constraint
tabela. Um exemplo:A ressalva aqui é que você não obtém os nomes de todas as restrições dessa maneira.
Aqui está a resposta específica do PostgreSQL. Ele recuperará todas as colunas e seu relacionamento também: