Alternativa ao pg_dump

Para backups lógicos, o Databasus é construído sobre o pg_dump. Em vez de substituir o pg_dump, o Databasus amplia suas capacidades com gestão de backups, interface web, agendamento automático, integração com armazenamento na nuvem, notificações, recursos de colaboração e criptografia integrada. Além dos backups lógicos, o Databasus também suporta backups físicos, backups incrementais com arquivamento de WAL e Point-in-Time Recovery.

Comparação rápida

Veja como o Databasus amplia a funcionalidade base do pg_dump:

Funcionalidadepg_dumpDatabasus
Motor de backuppg_dumpConstruído sobre o pg_dump
Gestão de backups❌ Não✅ Sim
Suporte a outras bases de dadosApenas PostgreSQLPostgreSQL, MySQL, MariaDB, MongoDB
InterfaceLinha de comandoInterface web + API
AgendamentoManual ou scripts de cron✅ Agendador integrado
Destinos de armazenamentoSistema localLocal, S3, Google Drive, R2, Azure, NAS, Dropbox
Compressãogzip, LZ4, zstd (manual)zstd (automática, otimizada)
CriptografiaRequer ferramentas externas✅ AES-256-GCM integrada
Notificações❌ Nenhuma✅ Slack, Teams, Telegram, e-mail, Webhooks
Recursos de colaboração❌ Nenhum✅ Workspaces, RBAC, logs de auditoria
Políticas de retençãoScripts manuais de limpeza✅ Retenção automática
Monitoramento de saúde❌ Nenhuma✅ Health checks integrados
Backups físicos❌ Não✅ Sim
Backups incrementais❌ Não✅ Em nível de bloco (PG 17+)
Point-in-Time Recovery❌ Não✅ Sim
Backups remotos✅ Sim (CLI)✅ Sim

O que é o pg_dump?

O pg_dump é a ferramenta nativa do PostgreSQL para criar backups lógicos. Faz parte do PostgreSQL desde o início e é a ferramenta padrão para exportar bases de dados.

Pontos fortes do pg_dump

  • Backups portáteis: cria dumps em SQL ou em formato custom que podem ser restaurados em versões diferentes do PostgreSQL.
  • Backups seletivos: pode exportar tabelas específicas, esquemas ou bases de dados inteiras.
  • Snapshots consistentes: usa o MVCC do PostgreSQL para criar backups consistentes sem bloquear escritas.
  • Amplamente suportado: disponível em qualquer instalação do PostgreSQL, bem documentado e testado em produção há décadas.
  • Formatos de saída flexíveis: SQL puro, custom, directory ou tar.

Limitações do pg_dump

Embora o pg_dump seja poderoso, usá-lo em produção normalmente exige scripts adicionais:

  • Sem agendamento integrado: exige cron jobs ou agendadores externos.
  • Apenas armazenamento local: grava no sistema local; enviar para a nuvem exige scripts adicionais.
  • Sem criptografia: os dumps não são criptografados por padrão; é preciso encadear com gpg ou ferramentas semelhantes.
  • Sem notificações: não há como receber alertas de sucesso ou falha do backup sem scripts próprios.
  • Sem gestão de retenção: backups antigos precisam ser limpos manualmente ou via scripts.
  • Apenas linha de comando: nenhuma interface visual para monitoramento ou gestão.

Como o Databasus amplia o pg_dump

O Databasus usa o pg_dump como motor de backup, preservando todas as vantagens dos backups lógicos e acrescentando recursos corporativos por cima.

Por dentro: quando um backup é iniciado no Databasus, ele executa o pg_dump com parâmetros otimizados e depois trata da compressão, da criptografia e do envio para o destino de armazenamento configurado.

Interface web

Em vez de memorizar as opções de linha de comando do pg_dump, o Databasus oferece uma interface web onde você pode:

  • Adicionar bases de dados com um assistente de conexão
  • Configurar agendamentos de backup com controles visuais
  • Acompanhar o histórico e o status dos backups num relance
  • Baixar ou restaurar backups com um clique
  • Ver gráficos de saúde e disponibilidade das bases de dados

Compressão otimizada

O Databasus usa por padrão a compressão zstd (nível 5), que oferece:

  • Redução de 4 a 8x no tamanho em comparação com dumps sem compressão
  • ~20% de custo extra de tempo, muito mais rápido que gzip
  • Tratamento automático, sem necessidade de encadear ferramentas de compressão

Além do pg_dump: backups físicos e PITR

Embora o Databasus se apoie no pg_dump para backups lógicos, ele também vai além do que o pg_dump consegue oferecer:

  • Backups físicos: cópias em nível de dados de todo o cluster da base de dados via pg_basebackup. Backup e restauração mais rápidos para bases de dados grandes.
  • Backups incrementais e de WAL: backups incrementais em nível de bloco via pg_basebackup --incremental (com base nos resumos de WAL do servidor), além de streaming contínuo de WAL via pg_receivewal, permitindo Point-in-Time Recovery, ou seja, restaurar para qualquer segundo entre backups.
  • Recuperação de desastres: pensado para requisitos de perda de dados quase nula, com backups físicos de base e streaming contínuo de WAL.

Esses backups se apoiam no mecanismo nativo de backup do PostgreSQL 17, então o Databasus reutiliza as ferramentas já comprovadas do próprio PostgreSQL em vez de reinventá-las. Exigem PostgreSQL 17 ou mais recente; em versões anteriores estão disponíveis apenas os backups lógicos com pg_dump. Tudo é executado remotamente a partir do host do Databasus pelo protocolo de replicação, então nada é instalado no servidor da base de dados. Redes fechadas são alcançadas por um túnel SSH até um host interno ou um bastion, então a base de dados nunca precisa ficar exposta publicamente. Leia como funcionam os backups físicos e PITR.

Automação de backups

Um dos desafios mais comuns com o pg_dump é montar backups automáticos confiáveis.

Automação tradicional do pg_dump

Um script típico de automação do pg_dump é mais ou menos assim:

#!/bin/bash
# Backup script for pg_dump
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backups"
DB_NAME="mydb"

# Create backup
pg_dump -Fc -h localhost -U postgres $DB_NAME > $BACKUP_DIR/$DB_NAME_$DATE.dump

# Compress (if not using custom format)
# gzip $BACKUP_DIR/$DB_NAME_$DATE.sql

# Encrypt
gpg --encrypt --recipient backup@company.com $BACKUP_DIR/$DB_NAME_$DATE.dump

# Upload to S3
aws s3 cp $BACKUP_DIR/$DB_NAME_$DATE.dump.gpg s3://my-bucket/backups/

# Cleanup old backups (keep last 7 days)
find $BACKUP_DIR -name "*.dump*" -mtime +7 -delete

# Send notification on failure
if [ $? -ne 0 ]; then
  curl -X POST https://hooks.slack.com/... -d '{"text":"Backup failed!"}'
fi

Este script precisa ser mantido, testado e monitorado. Cada base de dados exige a sua própria entrada no cron.

Automação no Databasus

Com o Databasus, a mesma funcionalidade já vem integrada:

  • Agendador visual: defina backups por hora, dia, semana, mês ou cron, com horários específicos.
  • Compressão automática: compressão zstd aplicada automaticamente.
  • Criptografia integrada: criptografia AES-256-GCM com chaves únicas por backup.
  • Envio para a nuvem: envio direto para S3, Google Drive, Cloudflare R2, Azure ou outros destinos.
  • Políticas de retenção: limpeza automática de backups antigos segundo as suas regras de retenção.
  • Notificações: alertas no Slack, Teams, Telegram e e-mail em caso de sucesso ou falha.

Opções de armazenamento

O pg_dump grava no sistema local. Levar os backups para armazenamento na nuvem exige ferramentas e scripts adicionais.

Destinos de armazenamento do Databasus

O Databasus suporta vários destinos de armazenamento sem configuração extra:

  • Armazenamento local
  • Amazon S3 e serviços compatíveis com S3
  • Google Drive
  • Cloudflare R2
  • Azure Blob Storage
  • NAS (armazenamento conectado à rede)
  • Dropbox

Cada base de dados pode ter o seu próprio destino de armazenamento, e você pode configurar vários destinos para redundância.

Veja todas as opções de armazenamento →

Notificações

Saber quando os backups têm sucesso ou falham é fundamental para a proteção dos dados.

Notificações com pg_dump

O pg_dump não tem sistema de notificações. É preciso:

  • Escrever scripts que verificam códigos de saída
  • Integrar com ferramentas externas de monitoramento
  • Montar pipelines de alerta próprios

Notificações no Databasus

O Databasus inclui notificações integradas para:

  • Slack
  • Discord
  • Telegram
  • Microsoft Teams
  • E-mail
  • Webhooks (para integrações próprias)

Configure quais eventos disparam notificações: sucesso do backup, falha do backup ou ambos.

Veja todos os canais de notificação →

Recursos de colaboração

O pg_dump é uma ferramenta de linha de comando para uma única pessoa. O Databasus adiciona recursos de colaboração para equipes:

Capacidades de colaboração do Databasus

  • Workspaces: organize bases de dados, notificadores e armazenamentos por projeto ou equipe. Cada pessoa vê apenas os workspaces para os quais foi convidada.
  • Controle de acesso baseado em papéis: atribua permissões de viewer, editor ou admin para controlar o que cada membro pode fazer.
  • Logs de auditoria: acompanhe todas as atividades e alterações do sistema. Essencial para conformidade de segurança e responsabilização.
  • Notificações compartilhadas: os canais da equipe recebem automaticamente o status dos backups.

Saiba mais sobre gestão de acessos →

Segurança

A segurança é onde o Databasus acrescenta mais valor em relação ao uso direto do pg_dump.

Segurança do pg_dump

O pg_dump cria dumps sem criptografia. Para protegê-los é preciso:

  • Encadear a saída com ferramentas de criptografia (gpg, openssl)
  • Gerenciar as chaves de criptografia separadamente
  • Garantir guarda segura e rotação das chaves
  • Definir permissões adequadas nos dumps

Segurança do Databasus

O Databasus implementa segurança em vários níveis:

  • Criptografia AES-256-GCM: todas as senhas, tokens e credenciais são criptografados. A chave de criptografia fica guardada separada da base de dados.
  • Criptografia única por backup: cada backup é criptografado com uma chave única derivada da chave mestra, do ID do backup e de um salt aleatório.
  • Acesso somente leitura à base de dados: impõe apenas permissões de SELECT, prevenindo corrupção de dados mesmo em caso de comprometimento.

Saiba mais sobre a segurança do Databasus →

Processo de restauração

As duas ferramentas suportam restaurar backups, mas com fluxos diferentes.

Restaurar backups do pg_dump

Restaurar um backup do pg_dump exige:

  1. Localizar o backup
  2. Descriptografar, se estiver criptografado
  3. Descomprimir, se estiver comprimido
  4. Executar pg_restore ou psql com os parâmetros corretos

Restaurar backups do Databasus

O Databasus simplifica a restauração:

  • Download com um clique: baixe qualquer backup diretamente pela interface web.
  • Descriptografia automática: os backups são descriptografados automaticamente ao baixar.
  • Comandos de restauração prontos: o Databasus mostra o comando pg_restore exato para cada backup.
  • Suporte a restauração paralela: use vários núcleos de CPU para restaurar bases de dados grandes mais rápido.

Instalação

Instalação do pg_dump

O pg_dump vem com o PostgreSQL. Se você tem o PostgreSQL instalado, já tem o pg_dump.

Instalação do Databasus

O Databasus oferece vários métodos de instalação:

  • Script de uma linha: instala o Docker (se necessário), configura o Databasus e ativa a inicialização automática.
  • Docker run: um único comando para iniciar com PostgreSQL embutido.
  • Docker Compose: para mais controle sobre a implantação.

Veja o guia de instalação →

Conclusão

O pg_dump é a ferramenta de cópia de segurança consagrada do PostgreSQL, e o Databasus é construído diretamente sobre ele. A escolha entre usar o pg_dump diretamente ou através do Databasus depende das suas necessidades.

Use o pg_dump diretamente se:

  • Precisa de exportações pontuais ou ad-hoc
  • Você está à vontade escrevendo e mantendo shell scripts
  • Já tem infraestrutura de automação (Ansible, Terraform, etc.)
  • Só precisa de backups locais, sem armazenamento na nuvem
  • Trabalha sozinho e tem necessidades simples

Use o Databasus se:

  • Quer backups automáticos e agendados sem escrever scripts
  • Precisa de guardar backups na nuvem (S3, Google Drive, etc.)
  • Quer criptografia integrada sem gerenciar chaves manualmente
  • Precisa de notificações quando os backups têm sucesso ou falham
  • Você trabalha em equipe e precisa de recursos de colaboração
  • Prefere uma interface visual a ferramentas de linha de comando
  • Quer políticas de retenção e limpeza automáticas
  • Precisa de backups físicos, backups incrementais ou Point-in-Time Recovery para recuperação de desastres

O Databasus se apoia no pg_dump para backups lógicos e o amplia com automação, segurança e recursos de colaboração. Além disso, o Databasus também suporta backups físicos, backups incrementais com arquivamento de WAL e Point-in-Time Recovery, capacidades que o pg_dump simplesmente não pode oferecer.