Palavras-chave SEO: backup PostgreSQL usando Barman, configurar Barman, barman PostgreSQL tutorial, como fazer backup PostgreSQL, recuperação de dados PostgreSQL.


Introdução

Fazer backup de bancos de dados é essencial para garantir a integridade e a disponibilidade dos dados em caso de falhas. O Barman (Backup and Recovery Manager) é uma poderosa ferramenta open-source desenvolvida pela 2ndQuadrant (atualmente EDB), que permite gerenciar backups remotos de múltiplas instâncias do PostgreSQL.

Neste artigo, você aprenderá como configurar e ativar backup PostgreSQL usando Barman, passo a passo, seguindo boas práticas de segurança e desempenho.


O Que é o Barman?

Barman é uma ferramenta robusta de backup e recuperação para PostgreSQL, ideal para ambientes corporativos. Com o Barman, você pode realizar:

  • Backups completos e incrementais.
  • Retenção e rotação automática de backups.
  • Recuperações PITR (Point-in-Time Recovery).
  • Monitoramento da integridade dos backups.

Pré-requisitos

Antes de iniciar a configuração do Barman no PostgreSQL, verifique se você tem:

  • Uma instância PostgreSQL ≥ 10 instalada.
  • Acesso de superusuário no servidor PostgreSQL.
  • Um segundo servidor Linux (ou o mesmo) para o Barman.
  • Acesso SSH entre o servidor do Barman e o PostgreSQL.
  • Python ≥ 3.6 instalado (recomendado para versões recentes do Barman).

Passo a Passo: Como Configurar o Barman para Backup do PostgreSQL

1. Instale o Barman

No servidor de backup (ex: Ubuntu/Debian):

bash
sudo apt update
sudo apt install barman

Para CentOS/RHEL:

bash
sudo yum install barman

2. Configure o Acesso SSH

Crie uma chave SSH para o usuário barman e adicione ao authorized_keys do servidor PostgreSQL:

bashCopiarEditarsudo -u barman ssh-keygen -t rsa
ssh-copy-id postgres@<ip-servidor-postgresql>

3. Habilite o Acesso WAL e Backup

Edite o postgresql.conf no servidor de banco de dados:

wal_level = replica
archive_mode = on
archive_command = 'rsync -a %p barman@<ip-servidor-barman>:/var/lib/barman/<nome-instancia>/incoming/%f'

Reinicie o PostgreSQL após essa alteração.


4. Configure a Instância no Barman

Edite (ou crie) o arquivo /etc/barman.d/<nome-instancia>.conf no servidor Barman:

[pg_main]
description = "Servidor PostgreSQL principal"
conninfo = host=<ip-servidor-postgresql> user=postgres dbname=postgres
backup_method = rsync
ssh_command = ssh postgres@<ip-servidor-postgresql>
archiver = on
slot_name = barman_slot
streaming_archiver = on

5. Verifique a Configuração

Execute:

bash
barman check pg_main

Você deve ver todos os testes passando com “OK”.


6. Execute o Primeiro Backup

Com tudo configurado, execute o backup:

bash
barman backup pg_main

Acompanhe o progresso com:

bash
barman list-backup pg_main

7. Configure a Retenção de Backups (opcional)

No mesmo arquivo .conf:

retention_policy = RECOVERY WINDOW OF 7 DAYS

Isso manterá backups suficientes para restaurar os últimos 7 dias.


Considerações Finais

Com o Barman, você tem uma solução confiável e automatizada para o backup e recuperação do PostgreSQL. Seguir boas práticas de backup é fundamental para garantir a alta disponibilidade e resiliência do seu ambiente de dados.

Próximos Passos:

  • Automatize backups com cron jobs.
  • Teste a recuperação (PITR) periodicamente.
  • Monitore logs e alertas do Barman.

FAQ: Backup PostgreSQL com Barman

1. Barman funciona com PostgreSQL em contêineres?
Sim, desde que os volumes e acessos sejam corretamente configurados.

2. É possível usar Barman com backup contínuo (streaming)?
Sim, configure streaming_archiver = on e utilize replication slots.

3. Posso usar o Barman com várias instâncias PostgreSQL?
Sim, o Barman gerencia múltiplas instâncias com facilidade.


Conclusão

Configurar o backup do PostgreSQL com Barman é uma tarefa relativamente simples, mas extremamente valiosa. Siga os passos acima para garantir que seus dados estejam protegidos e prontos para recuperação quando necessário.