Voltar
Seus backups estão verdes, mas isso não significa que você consegue restaurá-los

Backup verde não garante restauração: o risco escondido nos backups de PostgreSQL

Aprofundamento CEVIU

Aprofundamento

O texto do blog Semab's Planet PostgreSQL (Stormatics) parte de um ponto simples: backup verde diz que um processo começou e terminou sem erro, que bytes foram copiados e que o catálogo ganhou uma entrada. Não diz nada sobre recuperação. O autor monta um incidente-padrão, não um caso real de uma empresa: uma coluna com dados vivos é removida às 09:38, a equipe decide restaurar para antes disso e descobre que não existe host de restauração. O restore termina às 13:50 e para antes do ponto desejado, porque falta um segmento de WAL no arquivo. Às 16:30 a equipe recorre a uma cópia de seis dias atrás. A expectativa de uma hora virou mais de dois dias, com perda de dados certa.

As causas listadas são: cadeia de WAL quebrada, corrupção copiada fielmente para todos os backups, retenção desalinhada entre WAL e backup completo, itens fora do diretório de dados (roles, configurações, extensões, tablespaces, certificados), chave de criptografia perdida, ausência de máquina para restaurar e falta de pessoas que saibam fazer. Um ponto técnico forte é o arquivamento de WAL: ele falha em silêncio, porque não derruba o banco nem o job de backup. O primeiro sinal costuma ser pressão de disco em pg_wal, e liberar espaço transforma um problema temporário em permanente. A recomendação é monitorar separadamente a contagem de falhas de arquivamento, a idade do segmento arquivado mais recente e o tamanho de pg_wal. O único teste que prova algo é restaurar, subir o cluster, reproduzir até um ponto no passado e validar os dados.

Por que isso importa

Para quem opera PostgreSQL em produção, a leitura prática é trocar a pergunta "o backup rodou?" por "quanto tempo leva para voltar e até qual ponto?". Isso pede métricas próprias para o arquivamento de WAL e um teste periódico de restauração, com data registrada do último sucesso. Sem isso, o painel verde mede o job, não a capacidade de recuperação.

Perguntas frequentes

Por que um backup de PostgreSQL concluído com sucesso pode falhar na restauração?

Porque o sucesso do job só indica que o processo terminou sem erro. Ele não garante que o WAL necessário exista, que as páginas estejam íntegras, que arquivos fora do diretório de dados estejam incluídos ou que a chave de criptografia esteja acessível.

O que monitorar além do job de backup?

O texto recomenda acompanhar três itens separados: a contagem de falhas de arquivamento, a idade do segmento de WAL arquivado com sucesso mais recente e o tamanho de pg_wal. O arquivamento tem modo de falha próprio e não derruba o backup.

Retenção de 30 dias protege contra corrupção?

Não necessariamente. Se uma página danificada entra em todos os backups, os 30 dias viram o prazo para perceber o problema. Depois disso, a última cópia limpa expira e o dano está em todas as cópias.

Como testar a restauração de forma que prove algo?

Restaure os arquivos em uma máquina limpa, suba o cluster, reproduza o WAL até um ponto escolhido no passado e confirme que os dados estão corretos. O autor sugere fazer isso com um banco real, para um horário da semana anterior, com outra pessoa operando.

Fontes

Avalie este artigo:
Categoria
CEVIU Dados
Publicado
02 de novembro de 2026
Editoria
CEVIU Dados

Quer receber mais sobre CEVIU Dados?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser