dbgate-pg-dumper: Backups do PostgreSQL Sem pg_dump

Published: 2026-08-07 | Stela Augustínová

Criar um backup do PostgreSQL geralmente exige a ferramenta de linha de comando pg_dump. Ela precisa ser instalada separadamente, estar disponível no path do sistema e ser compatível com o servidor PostgreSQL. Isso pode tornar a configuração do backup mais difícil, especialmente em aplicações desktop e em containers Docker.

Criamos o dbgate-pg-dumper para facilitar isso. É um mecanismo de backup e restauração do PostgreSQL escrito em TypeScript que executa diretamente dentro do DbGate ou de outra aplicação Node.js. Nenhum processo externo pg_dump ou psql é necessário.

Veja o dbgate-pg-dumper no npm →

Backup do PostgreSQL Integrado ao DbGate

O DbGate Community usa o dbgate-pg-dumper como sua opção integrada de backup e restauração do PostgreSQL. Você pode criar um backup em SQL puro a partir da interface do DbGate sem instalar ferramentas adicionais do PostgreSQL.

O dumper inclui tanto o esquema do banco de dados quanto os dados das tabelas. Ele entende objetos comuns do PostgreSQL, como tabelas, colunas, índices, restrições, sequências, views, funções, triggers, extensões, comentários, propriedade (ownership) e permissões.

O DbGate Premium adiciona mais controle, incluindo a possibilidade de selecionar tabelas individuais e escolher a versão de destino do PostgreSQL.

Projetado para Bancos de Dados Grandes

O dumper não carrega o banco de dados completo na memória. As linhas das tabelas são lidas e gravadas gradualmente, de modo que o mesmo processo consegue lidar tanto com bancos de dados pequenos quanto com tabelas que contêm grandes volumes de dados.

A saída padrão usa o formato eficiente COPY do PostgreSQL. Instruções INSERT e INSERT com colunas nomeadas também estão disponíveis quando se prefere um arquivo SQL mais legível ou portátil.

Durante o backup, o DbGate pode exibir a fase atual, as tabelas processadas, a contagem de linhas, avisos e erros. A operação também pode ser cancelada com segurança.

Backups Consistentes e Compatíveis

Por padrão, um backup completo usa uma única conexão física com o PostgreSQL e lê o esquema e os dados das tabelas dentro de uma única transação somente leitura, com nível de isolamento repeatable-read. Isso fornece um snapshot MVCC consistente, evitando que o esquema e os dados das tabelas sejam observados em momentos diferentes enquanto o banco de dados está sendo alterado. Essa garantia não se aplica quando as transações estão desativadas; ao usar uma transação existente, seu nível de isolamento é controlado pelo chamador.

Quando uma versão de destino do PostgreSQL é selecionada, o dumper verifica se os recursos exportados são suportados por essa versão. Se algo não for compatível, ele reporta um aviso claro ou interrompe a operação de acordo com as configurações selecionadas. Isso é útil ao mover um banco de dados entre versões diferentes do PostgreSQL.

Restauração em SQL Puro

O dbgate-pg-dumper pode restaurar os arquivos SQL que ele mesmo cria. Ele também pode ler saídas compatíveis em SQL puro produzidas pelo pg_dump --format=plain.

A restauração é executada progressivamente e reporta as operações concluídas e as linhas restauradas. Ela trata corretamente corpos de funções do PostgreSQL, comentários, identificadores entre aspas e blocos de dados COPY ... FROM STDIN.

O fluxo de restauração atual é focado em arquivos SQL puro em UTF-8. Os formatos de arquivo custom, tar e directory do PostgreSQL não são suportados por este leitor.

Também Disponível como Pacote npm

Embora tenha sido criado para o DbGate, o dumper é independente do restante da aplicação. Desenvolvedores Node.js podem instalar o pacote público dbgate-pg-dumper e usar sua API de backup e restauração em seus próprios projetos.

O pacote também funciona com bancos de dados PostgreSQL hospedados. Por exemplo, você pode usar o dbgate-pg-dumper diretamente em uma aplicação Node.js para criar um backup do banco de dados Neon, salvando seu esquema e dados como um arquivo SQL puro local, sem instalar o pg_dump.

A versão 1.0.0 suporta ES modules e CommonJS e requer Node.js 20 ou mais recente. Um adaptador para o popular driver pg está incluído, enquanto a API principal também pode ser conectada a outro cliente PostgreSQL.

Com o dbgate-pg-dumper, os backups do PostgreSQL ficam mais fáceis de executar em ambientes desktop, servidor e Docker, permanecendo disponíveis como arquivos SQL comuns e portáteis.