Backup PostgreSQL: pg_dump, PITR e teste de restauração
Entenda backup lógico e físico no PostgreSQL, PITR com WAL, pgBackRest, retenção e como testar a restauração de verdade.
Backup é uma das poucas rotinas em que o resultado só aparece no pior dia. Quando o banco cai ou alguém apaga a tabela errada, não importa se o job marcou sucesso: importa se a restauração funciona e em quanto tempo.
Backup lógico e backup físico
O pg_dump gera um arquivo com os comandos para recriar o banco. É útil para migrações, cópias pontuais e objetos específicos, mas não é a melhor estratégia para recuperação point-in-time em bases grandes. O backup físico copia os arquivos de dados e, combinado com o WAL, permite recuperar o estado em um momento específico.
pg_dump -Fc -h localhost -U postgres -d producao \
-f /backup/producao_$(date +%Y%m%d_%H%M).dumpPITR na prática
PITR significa recuperação em um ponto no tempo. Você precisa de um backup base consistente, arquivamento contínuo do WAL e uma janela de retenção definida. Ferramentas como pgBackRest e Barman automatizam cópia, verificação e restauração.
- Backup base periódico, com retenção definida
- Arquivamento de WAL em storage separado do banco
- Criptografia e controle de acesso às cópias
- Monitoramento de falha de backup e atraso de arquivamento
- Teste de restauração com tempo medido
O teste de restauração
- Escolha um ponto no tempo e um ambiente isolado.
- Restaure o backup base e aplique o WAL até o ponto desejado.
- Valide integridade, contagens e consultas críticas.
- Meça o tempo total de recuperação.
- Registre o resultado e ajuste a retenção e o procedimento.
Erros comuns
- Guardar a cópia no mesmo servidor do banco
- Nunca verificar a integridade do arquivo
- Retenção curta demais para o tipo de incidente
- Não monitorar falha do job de backup
- Não documentar o procedimento de recuperação
- Não testar a restauração depois de uma mudança de versão
Conclusão
Uma rotina de backup confiável tem três partes: cópia, verificação e restauração testada. O resto é consequência. Se a sua empresa não sabe quanto tempo levaria para voltar ao ar depois de uma exclusão acidental, esse é o próximo teste a fazer.
Precisa de ajuda com este tema?
A PostDB atua com DBA gerenciado, migração, tuning e alta disponibilidade para PostgreSQL. O diagnóstico inicial de 30 minutos é gratuito.
Perguntas frequentes
Qual a diferença entre pg_dump e PITR?
O pg_dump gera uma cópia lógica em um instante. O PITR combina um backup base com o arquivamento de WAL, permitindo recuperar o banco em qualquer ponto dentro da janela de retenção.
Com que frequência devo testar a restauração?
No mínimo uma vez por trimestre, e sempre que houver mudança de versão, volume ou infraestrutura. Teste em ambiente isolado e registre o tempo de recuperação.
Backup no mesmo servidor protege contra o quê?
Quase nada. Se o servidor falhar, o disco corromper ou um ransomware atingir a máquina, a cópia local vai junto. O backup precisa estar em outro host ou storage, com credenciais separadas.
Continue lendo
Migração de Oracle para PostgreSQL: como planejar sem perder dados
O que muda entre Oracle e PostgreSQL, as fases de uma migração segura e os erros que mais atrasam projetos de corte.
PerformancePostgreSQL lento: 7 causas comuns e como diagnosticar
Um roteiro prático para descobrir por que o PostgreSQL está lento sem sair criando índices e mudando parâmetros no escuro.