Banco de Dados

PostgreSQL em Alta Disponibilidade: Replicação, Standby em Cascata e Failover sem Perda de Dados

Replicação não é backup e standby não é failover automático. Entenda como funciona a replicação nativa do PostgreSQL, quando usar modo síncrono, como montar topologias em cascata e o que realmente acontece durante uma promoção.

Claudeci Rocha
12 de agosto de 2026
10 min de leitura
PostgreSQL em Alta Disponibilidade: Replicação, Standby em Cascata e Failover sem Perda de Dados

Bancos de dados concentram o risco operacional de qualquer empresa. Aplicações podem ser reimplantadas em minutos; um banco corrompido ou indisponível costuma significar horas de paralisação e, no pior cenário, perda definitiva de informação. É por isso que alta disponibilidade em PostgreSQL deixou de ser assunto de grandes corporações e passou a ser requisito de qualquer ambiente que sustenta operação contínua.

O PostgreSQL oferece replicação nativa madura e confiável. O que costuma faltar é clareza sobre o que cada modo garante — e, principalmente, sobre o que nenhum deles garante. Este artigo trata dos mecanismos, das topologias e das decisões que separam um ambiente resiliente de um ambiente que apenas parece resiliente.

O WAL: a Base de Tudo

Toda replicação em PostgreSQL se apoia no Write-Ahead Log. Antes de alterar qualquer página de dados, o banco registra a modificação em um log sequencial. Esse mecanismo existe originalmente para garantir durabilidade após uma queda abrupta: ao reiniciar, o banco reaplica o WAL e recupera um estado consistente.

A replicação reutiliza essa estrutura. Se o WAL descreve integralmente toda mudança, então transmitir o WAL para outro servidor e reaplicá-lo lá produz uma cópia fiel do banco original. Compreender isso esclarece várias consequências práticas: a réplica está sempre reaplicando mudanças, o atraso é medido em bytes de WAL pendentes, e um servidor primário que não consegue enviar WAL acumula arquivos em disco — uma das causas mais comuns de esgotamento de espaço em ambientes replicados.

Replicação Física e Replicação Lógica

Replicação Física (Streaming)

Transmite o WAL em nível de bloco. A réplica é uma cópia byte a byte do primário: mesma versão do PostgreSQL, mesma arquitetura, todos os bancos da instância, todos os objetos. É o modo usado para alta disponibilidade e para distribuir leitura, já que o standby pode atender consultas enquanto reaplica o log.

  • Baixa sobrecarga no primário
  • Réplica em modo somente leitura
  • Replica tudo — não é possível filtrar tabelas ou bancos
  • Exige compatibilidade estrita de versão

Replicação Lógica

Transmite mudanças em nível de linha, decodificadas a partir do WAL e aplicadas como operações em tabelas específicas. Permite replicar apenas parte do banco, entre versões diferentes, e para destinos que aceitam escrita própria.

  • Seleção granular de tabelas e operações
  • Viabiliza upgrade de versão maior com janela mínima de indisponibilidade
  • Destino aceita escrita, o que exige cuidado com conflitos
  • Não replica automaticamente mudanças de estrutura nem sequências

A escolha não é excludente. Ambientes maduros frequentemente usam replicação física para o par de alta disponibilidade e replicação lógica para alimentar ambientes analíticos ou integrações.

Síncrono ou Assíncrono: a Decisão que Define o RPO

Em replicação assíncrona, o primário confirma a transação ao cliente assim que grava localmente, sem esperar a réplica. É o modo padrão, tem melhor desempenho e tolera latência de rede. O preço aparece em um failover não planejado: transações confirmadas ao cliente e ainda não transmitidas são perdidas.

Em replicação síncrona, o primário só confirma a transação depois que a réplica reconhece o recebimento do WAL. O ganho é objetivo: nenhuma transação confirmada se perde na promoção. O custo também: cada escrita passa a incluir pelo menos um tempo de ida e volta na rede, e a latência entre os servidores entra diretamente no tempo de resposta da aplicação.

Há um ponto crítico frequentemente subestimado. Com replicação síncrona e uma única réplica configurada como obrigatória, a indisponibilidade da réplica bloqueia as escritas no primário — o mecanismo desenhado para aumentar a disponibilidade passa a reduzi-la. Ambientes que exigem modo síncrono precisam de pelo menos duas réplicas candidatas, para que a perda de uma não paralise a operação.

A decisão, portanto, é de negócio antes de ser técnica: qual volume de transações pode ser perdido em um desastre? Se a resposta é "nenhuma", o modo síncrono é obrigatório e a topologia precisa ser dimensionada para sustentá-lo.

Topologias na Prática

Primário com Standby Único

A configuração mais simples e o ponto de partida da maioria dos ambientes. Protege contra falha de hardware do primário e permite direcionar relatórios para o standby. Não protege contra erro humano: um comando destrutivo executado no primário é replicado fielmente em segundos.

Standby em Cascata

Uma réplica pode alimentar outras réplicas, em vez de todas se conectarem ao primário. A topologia em cascata reduz a carga de rede e de processos no primário e é especialmente útil quando há réplicas em localidades remotas: o WAL atravessa o enlace uma única vez e é redistribuído localmente.

O efeito colateral a considerar é o acúmulo de atraso. Cada nível adiciona sua própria latência, de modo que o último standby da cadeia está sempre mais distante do primário do que o primeiro. Monitorar o atraso em cada elo, e não apenas no primeiro, é essencial.

Réplica Isolada para Restore e Testes

Manter um servidor fora da cadeia de replicação, destinado a restaurar backups e validar procedimentos, é uma prática que se paga na primeira emergência. É nesse ambiente que se descobre — em condições controladas — que um backup estava truncado ou que o procedimento de restauração leva o triplo do tempo estimado.

Slots de Replicação: Proteção com Risco Embutido

Slots de replicação instruem o primário a preservar os segmentos de WAL até que a réplica confirme o consumo. Resolvem um problema real: sem eles, uma réplica desconectada por tempo suficiente pode voltar e descobrir que o WAL de que precisava já foi reciclado, exigindo recriação completa.

O risco é o inverso. Um slot associado a uma réplica que nunca mais volta faz o primário acumular WAL indefinidamente até esgotar o disco — e um primário sem espaço em disco para fora do ar. Slots exigem monitoramento do atraso e limite máximo de retenção configurado. Slot órfão é uma das causas mais frequentes de indisponibilidade em ambientes replicados.

Failover: o que Realmente Acontece

Promover um standby a primário é tecnicamente simples. O que torna o failover difícil são as decisões ao redor dele.

Detecção confiável. Distinguir um primário realmente indisponível de uma partição de rede temporária é o problema central. Promover um standby enquanto o primário original continua ativo e recebendo escritas produz o cenário de dois primários — situação em que as bases divergem e a reconciliação manual é dolorosa.

Redirecionamento das aplicações. A promoção não move o endereço do banco. Sem uma camada de abstração — IP virtual, proxy de conexão ou serviço de descoberta — as aplicações continuam apontando para o servidor antigo.

Destino dos demais standbys. Réplicas que apontavam para o primário antigo precisam ser reapontadas para o novo, e o procedimento depende de quanto elas divergiram.

Reintegração do servidor antigo. O ex-primário raramente volta como standby sem intervenção: ele pode ter transações que o novo primário nunca recebeu, e essa divergência precisa ser resolvida antes de reconectá-lo à cadeia.

Por essas razões, muitas organizações operam com failover assistido em vez de automático. A automação reduz o tempo de recuperação, mas introduz a possibilidade de promoção indevida. A escolha depende da tolerância a indisponibilidade e da maturidade da equipe de plantão.

Replicação Não Substitui Backup

Este é o equívoco mais caro em ambientes de banco de dados. Replicação protege contra falha de infraestrutura. Não protege contra:

  • Exclusão acidental de dados — replicada em segundos para todas as réplicas
  • Corrupção lógica causada por defeito de aplicação
  • Ação maliciosa com credencial legítima
  • Necessidade de consultar o estado do banco em uma data passada

A proteção completa exige backup com retenção, arquivamento contínuo do WAL para permitir recuperação a um ponto no tempo, e — o item mais negligenciado — restauração testada periodicamente. Um backup que nunca foi restaurado é uma hipótese, não uma garantia. Essa validação periódica é justamente um dos pontos cobertos pelo PostDB, a consultoria dedicada em PostgreSQL da LaraClaud.

O que Monitorar

  • Atraso de replicação em bytes e em tempo, por réplica e por elo da cascata
  • Estado dos processos de envio e de recebimento de WAL
  • Slots inativos e volume de WAL retido por cada um
  • Espaço no diretório do WAL, com alerta antecipado
  • Conflitos de recuperação em réplicas que atendem consultas longas
  • Sucesso e duração dos backups, e a data do último restore validado

Conclusão

Alta disponibilidade em PostgreSQL é resultado de decisões explícitas: modo de replicação alinhado à tolerância a perda de dados, topologia dimensionada para a distribuição geográfica, slots com limites de retenção, procedimento de failover ensaiado e backup independente da replicação. Cada um desses pontos, isoladamente, é simples. A resiliência vem de tratá-los como um conjunto coerente e de testá-los antes que a emergência os teste.

A LaraClaud projeta, implanta e opera ambientes PostgreSQL de alta disponibilidade, incluindo topologias com standby em cascata, definição de objetivos de recuperação junto ao negócio, rotinas de backup validadas por restauração e monitoramento contínuo de replicação.

Consultoria dedicada em PostgreSQL

Replicação, failover e backup validado exigem acompanhamento contínuo, não configuração pontual. O PostDB é a consultoria da LaraClaud especializada em PostgreSQL: desenho da topologia de alta disponibilidade, definição dos objetivos de recuperação junto ao negócio, ajuste de desempenho, rotinas de backup testadas por restauração e monitoramento permanente da replicação.

Referências

Tags:

#PostgreSQL#Alta Disponibilidade#Replicação#Failover#Banco de Dados#Continuidade de Negócio#Infraestrutura
Compartilhar:

Sobre o Autor

C

Claudeci Rocha

Autor

Especialista em Infraestrutura, Bancos de Dados e Operação de Ambientes Críticos.

Precisa de ajuda?

Entre em contato conosco para discutir como podemos ajudar sua empresa.

Fale Conosco