Eu tenho um grande banco de dados que preciso extrair todas as chaves primárias e chaves estrangeiras de cada tabela.
Eu tenho o pgAdmin III.
Existe uma maneira de fazer isso automaticamente e não passar por cima de cada tabela manualmente?
postgresql
foreign-key
primary-key
pgadmin
Nick Ginanto
fonte
fonte
WHERE contype IN ('f', 'p', 'u')
Baseado na solução Erwin:
Retornará uma tabela de formulário:
fonte
Não há necessidade de analisar
pg_get_constraintdef()
, basta usar colunas dapg_constraint
tabela para obter outros detalhes ( os documentos ).Aqui
constraint_type
pode ser:Com base na resposta de Erwin :
Os resultados são ordenados por
schema
etable
.Nota técnica: veja esta pergunta sobre
with ordinality
.fonte
Recentemente, foi necessário implementá-lo para uma camada de acesso a dados que constrói utilitários CRUD com base no esquema de informações, e acabou indo com isso.
fonte