Quais são os formatos alternativos ao pg_dump para fins de comparação de esquema?

Quais são os formatos alternativos ao pg_dump para fins de comparação de esquema?

Estamos armazenando pg_dumpo esquema DDL produzido em nosso controle de versão.

Descobrimos que comparar pg_dumpa saída antes/depois da aplicação dos scripts de migração dá uma ideia melhor das alterações que estão sendo aplicadas.

No entanto, o problema que estou enfrentando com pg_dumpa saída é que as alterações de objetos relacionados estão em todo o arquivo. Portanto, no momento em que você tem uma alteração que afeta vários objetos no esquema, fica difícil ver as alterações relacionadas.

Estou me perguntando se existem formatos alternativos para os quais eu possa exportar esquemas de banco de dados simplesmente com o propósito de diferenciá-los, por exemplo, estou pensando em usar o psql para gerar uma representação de objetos em tabela 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

Responder1

Dificilmente é uma resposta à minha pergunta, mas documentarei o que encontrei:

Vou atualizar isso à medida que descubro soluções melhores.

informação relacionada