스키마 비교를 위해 pg_dump의 대체 형식은 무엇입니까?

스키마 비교를 위해 pg_dump의 대체 형식은 무엇입니까?

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

답변1

내 질문에 대한 답변은 거의 없지만 내가 찾은 내용을 문서로 기록하겠습니다.

더 나은 솔루션을 찾으면 이를 업데이트하겠습니다.

관련 정보