Мы храним pg_dump
произвел схему DDL в нашем управлении версиями.
Мы находим, что сравнивая pg_dump
Вывод до / после применения сценариев миграции дает лучшее представление о применяемых изменениях.
Однако проблема, с которой я столкнулся pg_dump
вывод состоит в том, что соответствующие изменения объекта происходят по всему файлу. Поэтому в тот момент, когда у вас есть изменение, которое затрагивает несколько объектов в схеме, становится трудно увидеть связанные изменения.
Мне интересно, есть ли какие-либо альтернативные форматы, в которых я мог бы экспортировать схемы базы данных просто для их сравнения, например Я рассматриваю возможность использования psql для создания табличного представления объектов в формате ascii.
test=# \d+ question
Table "public.question"
Column | Type | Collation | Nullable | Default | Storage | Stats target | Description
---------------+---------+-----------+----------+--------------------------------------+----------+--------------+-------------
id | integer | | not null | nextval('question_id_seq'::regclass) | plain | |
question | text | | not null | | extended | |
interest_id | integer | | | | plain | |
slack_team_id | integer | | | | plain | |
Indexes:
"question_pkey" PRIMARY KEY, btree (id)
"question_question_slack_team_id_idx" UNIQUE, btree (question, slack_team_id)
"question_interest_id_idx" btree (interest_id)
"question_slack_team_id_idx" btree (slack_team_id)
Foreign-key constraints:
"question_interest_id_fkey" FOREIGN KEY (interest_id) REFERENCES interest(id) ON DELETE CASCADE
"question_slack_team_id_fkey" FOREIGN KEY (slack_team_id) REFERENCES slack_team(id) ON DELETE CASCADE
Referenced by:
TABLE "trivia_question" CONSTRAINT "trivia_question_question_id_fkey" FOREIGN KEY (question_id) REFERENCES question(id) ON DELETE CASCADE
Access method: heap
Вряд ли это ответ на мой вопрос, но я задокументирую то, что нашел:
\dt+ *.*
для генерации psql-описания всей базы данныхЯ буду обновлять это, когда найду лучшие решения.