У меня есть большая база данных, мне нужно извлечь все первичные ключи и внешние ключи из каждой таблицы.
У меня есть pgAdmin III.
Есть ли способ сделать это автоматически, а не обходить каждую таблицу вручную?
postgresql
foreign-key
primary-key
pgadmin
Ник Джинанто
источник
источник
WHERE contype IN ('f', 'p', 'u')
На основе решения Erwin:
Вернет таблицу формы:
источник
Не нужно разбирать
pg_get_constraintdef()
, просто используйте столбцыpg_constraint
таблицы, чтобы получить другие детали ( документы ).Здесь
constraint_type
можно:Основываясь на ответе Эрвина :
Результаты упорядочены по
schema
иtable
.Техническое примечание: см. Этот вопрос о
with ordinality
.источник
Недавно пришлось реализовать это для уровня доступа к данным, который строит утилиты CRUD на основе информационной схемы, и в итоге пошел этим путем.
источник