30.10.2025

pgschema - gerenciamento de esquemas PostgreSQL em estilo declarativo, como no Terraform

pgschema é uma ferramenta de linha de comando (CLI) para trabalhar com esquemas de bancos de dados PostgreSQL em um estilo declarativo, semelhante à abordagem do Terraform.
Ela permite descrever o estado desejado do esquema do banco de dados em forma de código e aplicar automaticamente as alterações para alinhar o banco existente a esse estado.

A ferramenta simplifica o gerenciamento de migrações, eliminando a necessidade de escrever scripts SQL manualmente e rastrear versões de alterações.
O pgschema analisa automaticamente a diferença entre o esquema atual e o esquema desejado, gera um plano de alterações e o aplica em uma transação segura.

Para que serve o pgschema

pgschema ajuda a:

Instalação

  1. Baixe o arquivo binário do repositório oficial no GitHub.
  2. Extraia o arquivo e adicione o binário ao PATH.
  3. Verifique a instalação com o comando:
    pgschema --version
Observação: o pgschema oferece suporte oficial para Linux e macOS. No Windows, pode ser executado via WSL.

Comandos principais

1. Remoção do dump do esquema

PGPASSWORD=pass pgschema dump \
--host localhost \
--db mydb \
--user postgres \
--schema public > schema.sql

O comando salva o estado atual do esquema no arquivo schema.sql.
Esse arquivo pode ser editado manualmente — adicionar tabelas, campos, índices, etc.

2. Planejamento das alterações

PGPASSWORD=pass pgschema plan \
--host localhost \
--db mydb \
--user postgres \
--schema public \
--file schema.sql \
--output-human stdout \
--output-json plan.json

A ferramenta compara o estado atual do banco de dados com o arquivo de esquema e exibe um plano de alterações:

Plano: 1 para modificar.
Resumo por tipo:
tabelas: 1 para modificar
Tabelas:
~ usuários
+ idade (coluna)

3. Aplicação das alterações

PGPASSWORD=pass pgschema apply \
--host localhost \
--db mydb \
--user postgres \
--schema public \
--plan plan.json \
--auto-approve

O pgschema aplicará o plano e executará todas as consultas DDL necessárias (por exemplo, ALTER TABLE).

Vantagens

Desvantagens

Conclusão

pgschema é uma ferramenta moderna voltada para DevOps e engenheiros que implementam infraestrutura de banco de dados como código. Ela simplifica o gerenciamento de esquemas, garante transparência e reprodutibilidade das alterações. Para equipes que trabalham com PostgreSQL em ambientes de nuvem, o pgschema é uma alternativa conveniente a sistemas de migração clássicos como Flyway ou Liquibase.

FAQ