Mudanças entre as edições de "Backup PostgreSQL Grande Porte"

De VRWiki
(Criou página com '= Backups de Bancos PostgreSQL (Grande Porte) = Este documento descreve estratégias comuns para realizar **backup de bancos de dados PostgreSQL de grande porte**, abordando...')
 
Linha 3: Linha 3:
 
Este documento descreve estratégias comuns para realizar **backup de bancos de dados PostgreSQL de grande porte**, abordando vantagens, desvantagens e boas práticas. O foco é minimizar impacto em produção, garantir consistência dos dados e facilitar a recuperação em caso de desastre.
 
Este documento descreve estratégias comuns para realizar **backup de bancos de dados PostgreSQL de grande porte**, abordando vantagens, desvantagens e boas práticas. O foco é minimizar impacto em produção, garantir consistência dos dados e facilitar a recuperação em caso de desastre.
  
---
 
  
 
== Objetivos de um bom backup ==
 
== Objetivos de um bom backup ==
Linha 12: Linha 11:
 
* Manter cópias **fora do servidor de origem**
 
* Manter cópias **fora do servidor de origem**
  
---
 
  
 
== 1. Backup lógico via replicação (pg_dump em réplica) ==
 
== 1. Backup lógico via replicação (pg_dump em réplica) ==
Linha 43: Linha 41:
 
* Automatizar via cron ou ferramentas de orquestração
 
* Automatizar via cron ou ferramentas de orquestração
  
---
 
  
 
== 2. Backup físico da pasta de dados (data directory) ==
 
== 2. Backup físico da pasta de dados (data directory) ==
Linha 77: Linha 74:
 
* Testar restauração regularmente
 
* Testar restauração regularmente
  
---
 
  
 
== 3. Soluções de backup de mercado (ex: Veeam Backup) ==
 
== 3. Soluções de backup de mercado (ex: Veeam Backup) ==
Linha 106: Linha 102:
 
* Garantir suporte a WAL e restauração consistente
 
* Garantir suporte a WAL e restauração consistente
  
---
 
  
 
== 4. RAID ==
 
== 4. RAID ==
Linha 121: Linha 116:
  
 
* Não protege contra:
 
* Não protege contra:
   ** Exclusão acidental de dados
+
   * Exclusão acidental de dados
   ** Corrupção lógica
+
   * Corrupção lógica
   ** Ataques (ex: ransomware)
+
   * Ataques (ex: ransomware)
 
* Erros são replicados imediatamente
 
* Erros são replicados imediatamente
  
Linha 130: Linha 125:
 
RAID deve ser visto apenas como **camada de alta disponibilidade**, nunca como substituto de backup.
 
RAID deve ser visto apenas como **camada de alta disponibilidade**, nunca como substituto de backup.
  
---
 
  
 
== Observação importante: backups fora da máquina ==
 
== Observação importante: backups fora da máquina ==
Linha 140: Linha 134:
 
* Implementar política de retenção (diário, semanal, mensal)
 
* Implementar política de retenção (diário, semanal, mensal)
  
---
 
  
 
== Informações adicionais e boas práticas gerais ==
 
== Informações adicionais e boas práticas gerais ==
Linha 148: Linha 141:
 
* Testar restores periodicamente (disaster recovery test)
 
* Testar restores periodicamente (disaster recovery test)
 
* Utilizar compressão e paralelismo quando possível
 
* Utilizar compressão e paralelismo quando possível
 +
  
 
=== Estratégia recomendada ===
 
=== Estratégia recomendada ===
Linha 158: Linha 152:
 
* RAID para resiliência de hardware
 
* RAID para resiliência de hardware
  
---
 
  
 
''Backups só são confiáveis quando a restauração foi testada com sucesso.''
 
''Backups só são confiáveis quando a restauração foi testada com sucesso.''

Edição das 13h22min de 13 de janeiro de 2026

Backups de Bancos PostgreSQL (Grande Porte)

Este documento descreve estratégias comuns para realizar **backup de bancos de dados PostgreSQL de grande porte**, abordando vantagens, desvantagens e boas práticas. O foco é minimizar impacto em produção, garantir consistência dos dados e facilitar a recuperação em caso de desastre.


Objetivos de um bom backup

  • Garantir **recuperação de dados** em caso de falha, erro humano ou ataque
  • Minimizar **impacto no banco principal (produção)**
  • Possibilitar **restauração parcial ou total**
  • Manter cópias **fora do servidor de origem**


1. Backup lógico via replicação (pg_dump em réplica)

Nesta abordagem, utiliza-se uma **réplica de leitura** (streaming replication) para executar o backup lógico com `pg_dump`, evitando carga adicional no banco principal.

Funcionamento

  • Banco primário replica dados continuamente para um ou mais nós secundários
  • O `pg_dump` é executado **no banco replicado**
  • O backup é gerado em formato lógico (custom format)

Vantagens

  • Não impacta significativamente o banco de produção
  • Permite backup por banco
  • Não exige parada do banco

Desvantagens

  • Processo pode ser lento para bancos muito grandes
  • Consome CPU, memória e I/O do servidor réplica
  • Não preserva estatísticas internas e configurações físicas
  • Restauração pode ser demorada

Boas práticas

  • Utilizar formato `custom` (`pg_dump -Fc`) para permitir paralelismo na restauração
  • Garantir que a réplica esteja sincronizada
  • Automatizar via cron ou ferramentas de orquestração


2. Backup físico da pasta de dados (data directory)

O backup físico consiste em copiar diretamente o **diretório de dados do PostgreSQL** (`PGDATA`).

Abordagem tradicional

  • Parar o serviço PostgreSQL
  • Copiar o diretório de dados via script (`rsync`, `tar`, etc.)
  • Reiniciar o serviço

Vantagens

  • Backup rápido, especialmente para bancos muito grandes
  • Preserva estrutura física, índices e estatísticas
  • Restauração geralmente mais rápida

Desvantagens

  • Necessita **parada do banco** (downtime)
  • Risco operacional se scripts não forem bem controlados
  • Pouca flexibilidade para restaurações parciais

Alternativas mais seguras

  • `pg_basebackup`: permite backup físico **sem parar o banco**
  • Uso de WALs para **PITR (Point-In-Time Recovery)**

Boas práticas

  • Sempre validar consistência após restore
  • Testar restauração regularmente


3. Soluções de backup de mercado (ex: Veeam Backup)

Ferramentas comerciais oferecem integração com PostgreSQL e infraestrutura.

Características

  • Interface gráfica e gerenciamento centralizado
  • Automação de políticas de retenção
  • Integração com snapshots de storage e virtualização

Vantagens

  • Reduz complexidade operacional
  • Suporte técnico através do fornecedor da ferramenta
  • Integração com ambientes VMware, Hyper-V e cloud

Desvantagens

  • Custo de licenciamento
  • Dependência de fornecedor
  • Menor controle sobre detalhes internos do backup

Observações

  • Verificar se a solução é **application-aware** para PostgreSQL
  • Garantir suporte a WAL e restauração consistente


4. RAID

RAID **não é backup**, mas pode fazer parte da estratégia de disponibilidade.

O que o RAID oferece

  • Redundância de discos
  • Proteção contra falha física de hardware
  • Melhor desempenho de leitura/escrita (dependendo do nível)

Limitações

  • Não protege contra:
 * Exclusão acidental de dados
 * Corrupção lógica
 * Ataques (ex: ransomware)
  • Erros são replicados imediatamente

Conclusão

RAID deve ser visto apenas como **camada de alta disponibilidade**, nunca como substituto de backup.


Observação importante: backups fora da máquina

Mesmo com backups configurados, é fundamental:

  • Manter cópias **fora do servidor de origem**
  • Utilizar outro datacenter, storage remoto ou cloud (VRBackup)
  • Implementar política de retenção (diário, semanal, mensal)


Informações adicionais e boas práticas gerais

  • Documentar claramente o processo de backup e restore
  • Monitorar falhas de backup
  • Testar restores periodicamente (disaster recovery test)
  • Utilizar compressão e paralelismo quando possível


Estratégia recomendada

Uma estratégia robusta geralmente combina:

  • Replicação + `pg_dump` para restores lógicos
  • Backup físico (`pg_basebackup` + WAL) para recuperação rápida
  • Cópia externa (offsite)
  • RAID para resiliência de hardware


Backups só são confiáveis quando a restauração foi testada com sucesso.