Alta Disponibilidade PostgreSQL: Arquitetura, Failover e Boas Práticas

Equipe Dominus Tech analisando arquitetura corporativa de alta disponibilidade PostgreSQL com servidores Primary e Standby, replicação, failover, monitoramento, backup e Disaster Recovery.
Equipe técnica da Dominus Tech analisando uma arquitetura corporativa de alta disponibilidade PostgreSQL, com foco em replicação, failover, monitoramento, backup e continuidade operacional.

Alta Disponibilidade PostgreSQL: Arquitetura, Replicação, Failover e Continuidade

Alta Disponibilidade PostgreSQL é fundamental para empresas que precisam manter aplicações, sistemas e serviços de banco de dados operacionais mesmo diante de falhas de servidor, armazenamento, sistema operacional, rede ou outros componentes da infraestrutura. Uma arquitetura de alta disponibilidade combina redundância, replicação, servidores standby, monitoramento, mecanismos de failover, recuperação e procedimentos operacionais bem definidos.

O PostgreSQL oferece recursos que permitem construir diferentes arquiteturas de alta disponibilidade, enquanto ferramentas especializadas podem complementar o ambiente com automação de failover, gerenciamento de clusters, monitoramento e mecanismos para redirecionar as conexões das aplicações.

Em ambientes corporativos, a alta disponibilidade não deve ser tratada apenas como a existência de dois servidores PostgreSQL. É necessário projetar toda a cadeia de disponibilidade, incluindo banco de dados, replicação, rede, armazenamento, conexão das aplicações, monitoramento, backup, recuperação e Disaster Recovery.


O que é Alta Disponibilidade PostgreSQL?

Alta disponibilidade PostgreSQL é a capacidade de manter o serviço de banco de dados disponível ou recuperar sua operação rapidamente quando ocorre uma falha em um dos componentes da infraestrutura.

Uma arquitetura tradicional utiliza um servidor primário, responsável pelas operações de escrita, e um ou mais servidores standby que recebem os dados replicados. Quando ocorre uma falha no servidor primário, um standby pode ser promovido para assumir a função de novo primário.

O objetivo é reduzir o tempo de indisponibilidade e limitar o impacto de uma falha sobre as aplicações e os processos de negócio.

  • Servidor primário.
  • Servidores standby.
  • Replicação de dados.
  • Monitoramento contínuo.
  • Detecção de falhas.
  • Failover.
  • Redirecionamento das conexões.
  • Recuperação do servidor afetado.
  • Backup e recuperação.
  • Procedimentos operacionais documentados.

Equipe Dominus Tech analisando arquitetura corporativa de alta disponibilidade PostgreSQL com servidores Primary e Standby, replicação, failover, monitoramento, backup e Disaster Recovery.

Equipe Dominus Tech analisando uma arquitetura corporativa PostgreSQL com redundância, replicação, failover automático, monitoramento contínuo, backup e Disaster Recovery.


Por que implementar Alta Disponibilidade PostgreSQL?

Um banco de dados indisponível pode interromper aplicações corporativas, sistemas financeiros, plataformas digitais, processos internos, integrações e serviços utilizados diretamente pelos clientes.

Em ambientes críticos, depender de um único servidor cria um ponto único de falha. Mesmo quando o servidor possui hardware de alta qualidade, componentes como armazenamento, sistema operacional, rede, controladoras, energia ou software podem apresentar problemas.

A alta disponibilidade introduz redundância e cria condições para que outro servidor possa assumir a operação quando o servidor principal deixar de atender corretamente.

  • Redução do tempo de indisponibilidade.
  • Maior resiliência da infraestrutura.
  • Redução da dependência de um único servidor.
  • Continuidade operacional.
  • Maior capacidade de recuperação diante de falhas.
  • Possibilidade de manutenção planejada.
  • Integração com estratégias de Disaster Recovery.
  • Maior previsibilidade dos procedimentos de recuperação.

Arquitetura PostgreSQL com Primary e Standby

Uma das arquiteturas mais utilizadas para alta disponibilidade PostgreSQL utiliza um servidor Primary e um ou mais servidores Standby.

O Primary é responsável pelas operações principais de escrita. Os servidores Standby recebem os dados replicados e mantêm uma cópia do ambiente que pode ser utilizada em estratégias de recuperação e failover.

Servidor Primary

O Primary é o servidor que normalmente recebe as operações de escrita e atende as principais conexões da aplicação.

Servidor Standby

O Standby mantém uma cópia replicada do banco de dados e permanece preparado para assumir uma função diferente caso ocorra uma falha ou uma operação planejada de switchover.

Witness

Algumas arquiteturas utilizam um nó adicional denominado Witness para auxiliar na tomada de decisão durante eventos de falha. Esse componente pode ser importante em arquiteturas nas quais é necessário reduzir o risco de decisões incorretas durante uma perda de comunicação entre os nós.


Diagrama técnico de alta disponibilidade PostgreSQL com servidor Primary, dois servidores Standby, Witness, replicação, monitoramento e failover automático da Dominus Tech.
Diagrama corporativo de alta disponibilidade PostgreSQL mostrando Primary, dois Standby, Witness, replicação, monitoramento dos nós e promoção automática de um Standby após falha do Primary.

Streaming Replication no PostgreSQL

A Streaming Replication é um dos principais mecanismos utilizados em arquiteturas PostgreSQL baseadas em Primary e Standby.

O PostgreSQL utiliza o WAL, ou Write-Ahead Log, para registrar alterações realizadas no banco de dados. Esses registros podem ser transmitidos para servidores Standby, que os recebem e aplicam para manter seus dados alinhados com o servidor principal.

Replicação assíncrona

Na replicação assíncrona, o Primary não precisa aguardar que o Standby confirme a aplicação das informações antes de concluir determinadas operações.

Essa abordagem pode proporcionar excelente desempenho e menor dependência da latência entre os servidores. Entretanto, em uma falha abrupta do Primary, pode existir uma diferença entre aquilo que já foi confirmado no Primary e aquilo que chegou ao Standby.

Replicação síncrona

Na replicação síncrona, a arquitetura pode exigir confirmação de servidores de réplica antes de considerar determinadas transações concluídas.

Essa estratégia pode reduzir o risco de perda de dados em determinados cenários, mas exige planejamento cuidadoso da rede e da distância entre os servidores, pois a disponibilidade do sistema pode ficar mais dependente da comunicação entre os nós.

Replicação e objetivo de recuperação

A escolha entre replicação síncrona e assíncrona deve estar relacionada ao RPO, ao RTO, à latência disponível, à distribuição dos servidores e aos requisitos do negócio.


Alta Disponibilidade PostgreSQL e Failover

Failover é o processo pelo qual um servidor Standby assume a função de Primary depois que o servidor principal apresenta uma falha.

O PostgreSQL fornece os mecanismos necessários para manter servidores replicados, mas a automação do processo de failover normalmente envolve ferramentas de gerenciamento e orquestração.

Failover automático

No failover automático, uma ferramenta de gerenciamento detecta uma condição de falha e executa o processo de promoção de um Standby de acordo com as políticas definidas para o cluster.

Failover manual

No failover manual, um administrador avalia o incidente e decide qual servidor deve ser promovido.

Switchover

O switchover é diferente do failover porque representa uma mudança planejada da função de Primary para outro servidor. É utilizado, por exemplo, em determinadas atividades de manutenção ou mudanças controladas de infraestrutura.


EDB Failover Manager

O EDB Failover Manager é uma ferramenta destinada ao gerenciamento de clusters PostgreSQL em arquiteturas de alta disponibilidade baseadas em Primary e Standby.

O Failover Manager pode monitorar o ambiente, identificar determinadas condições de falha e promover automaticamente um servidor Standby para a função de Primary. A solução pode ser utilizada com PostgreSQL e EDB Postgres Advanced Server.

  • Monitoramento dos nós.
  • Detecção de falhas.
  • Promoção de Standby.
  • Gerenciamento do cluster.
  • Utilização de Witness.
  • Integração com mecanismos de conexão.
  • Integração com arquiteturas utilizando VIP.
  • Possibilidade de integração com componentes de pooling e proxy.

A documentação oficial da EDB descreve o Failover Manager como uma ferramenta de alta disponibilidade para arquiteturas Primary-Standby utilizando streaming replication.


Arquitetura do EDB Failover Manager

Uma arquitetura do Failover Manager pode utilizar um Primary, um ou mais Standby e um Witness.

O Primary atende as aplicações e recebe as operações de escrita. Os Standby recebem a replicação e permanecem disponíveis para recuperação. O Witness participa da avaliação da situação do cluster em determinados cenários de falha.

Primary

Servidor que normalmente atende as operações de banco de dados e recebe as escritas.

Standby

Servidor que mantém os dados replicados e pode ser promovido conforme as regras definidas para o cluster.

Witness

Componente que auxilia na avaliação da situação dos nós e na tomada de decisão durante determinados eventos de falha.

A arquitetura oficial do Failover Manager também contempla diferentes formas de encaminhar as conexões das aplicações, incluindo Virtual IP, client connection failover e integração com componentes de pooling.


Alta Disponibilidade PostgreSQL com múltiplos Standby

Ambientes corporativos podem utilizar mais de um servidor Standby para aumentar a redundância e permitir diferentes estratégias de disponibilidade e recuperação.

  • Standby local para alta disponibilidade.
  • Standby em outra zona de disponibilidade.
  • Standby em outro site.
  • Standby destinado ao Disaster Recovery.
  • Standby utilizado para determinadas cargas de leitura.
  • Standby adicional para aumentar a redundância.

A quantidade de servidores deve ser definida considerando requisitos de negócio, capacidade computacional, armazenamento, largura de banda, latência e complexidade operacional.


Alta Disponibilidade PostgreSQL em múltiplos Data Centers

Empresas que precisam se proteger contra falhas que afetem todo um data center podem distribuir servidores PostgreSQL entre diferentes localidades.

Essa estratégia aumenta a resiliência contra determinados eventos físicos ou operacionais, mas também acrescenta complexidade à arquitetura.

A distância entre os servidores influencia diretamente a latência da replicação e deve ser considerada especialmente quando a arquitetura possui requisitos de replicação síncrona.

O Failover Manager possui arquiteturas documentadas para ambientes que utilizam mais de um data center.


Arquitetura PostgreSQL distribuída em dois data centers com servidor Primary, Standby, replicação entre sites, monitoramento centralizado e failover automático da Dominus Tech.
Arquitetura corporativa distribuída da Dominus Tech com Primary e Standby PostgreSQL em localidades distintas, replicação entre sites, monitoramento centralizado e mecanismo de failover.

Alta Disponibilidade PostgreSQL e RPO

O Recovery Point Objective (RPO) representa a quantidade de dados que a organização aceita potencialmente perder depois de um incidente.

Em uma arquitetura de replicação assíncrona, pode existir uma diferença entre o estado do Primary e o estado do Standby no momento de uma falha.

O RPO deve ser definido antes da escolha da arquitetura, pois ele influencia a decisão sobre replicação, distribuição dos servidores e mecanismos de recuperação.


Alta Disponibilidade PostgreSQL e RTO

O Recovery Time Objective (RTO) representa o tempo máximo aceitável para recuperação do serviço.

Um failover automatizado pode reduzir o tempo necessário para promover um novo Primary, mas o RTO real envolve toda a cadeia operacional.

É necessário considerar banco de dados, mecanismo de conexão, DNS, Virtual IP, load balancer, connection pooler, aplicação e procedimentos de validação.


Alta Disponibilidade e conexão das aplicações

Ter servidores redundantes não garante, sozinho, alta disponibilidade para a aplicação.

Depois de um failover, a aplicação precisa conseguir localizar e utilizar o novo Primary.

Dependendo da arquitetura, isso pode ser realizado por:

  • Virtual IP.
  • DNS.
  • Client connection failover.
  • Connection poolers.
  • Load balancers.
  • Configurações específicas do driver.

O Failover Manager documenta arquiteturas utilizando Virtual IP, client connection failover, PgBouncer e EDB Pgpool-II. :


Alta Disponibilidade PostgreSQL e Connection Pooling

Connection pooling pode reduzir o custo de criação e manutenção de conexões e pode ser utilizado como parte da arquitetura de acesso ao banco de dados.

Entretanto, em um ambiente de alta disponibilidade, o pooler também precisa reconhecer a mudança do Primary após um failover.

Uma arquitetura mal configurada pode fazer aplicações continuarem tentando utilizar um servidor que deixou de ser o Primary.

O Failover Manager possui opções documentadas de integração com PgBouncer e EDB Pgpool-II para determinadas arquiteturas.


Alta Disponibilidade PostgreSQL e manutenção planejada

Alta disponibilidade também pode facilitar determinadas operações de manutenção.

Quando existe um Standby atualizado, pode ser possível executar um switchover controlado para transferir a função de Primary para outro servidor.

O procedimento deve ser planejado, testado e documentado antes de ser utilizado em produção.


Monitoramento do Cluster PostgreSQL

Um ambiente de alta disponibilidade precisa ser monitorado continuamente.

Não basta verificar se o serviço PostgreSQL está ativo. É necessário acompanhar o estado dos nós, a replicação, o atraso entre Primary e Standby e os componentes responsáveis pela continuidade do serviço.

  • Estado do Primary.
  • Estado dos Standby.
  • Atraso de replicação.
  • Estado do WAL.
  • Conectividade.
  • Estado dos agentes.
  • Espaço em disco.
  • Erros de replicação.
  • Eventos de failover.
  • Disponibilidade das aplicações.
  • Capacidade dos servidores.

O Failover Manager possui recursos de monitoramento e gerenciamento dos nós do cluster.


Split-Brain em PostgreSQL

Um dos riscos mais importantes em arquiteturas de alta disponibilidade é o split-brain.

Esse cenário pode ocorrer quando diferentes partes da infraestrutura acreditam simultaneamente possuir autoridade para atuar como Primary.

Se dois servidores aceitarem operações de escrita simultaneamente sem uma arquitetura apropriada, podem ocorrer divergências de dados e problemas de consistência.

Por isso, mecanismos de consenso, Witness, fencing e políticas corretas de promoção são elementos importantes em determinadas arquiteturas.


Fencing e proteção contra múltiplos Primaries

Fencing é utilizado para impedir que um servidor antigo continue atendendo operações depois que outro servidor foi promovido.

O objetivo é evitar que o antigo Primary e o novo Primary funcionem simultaneamente como autoridades de escrita.

A estratégia de fencing depende da infraestrutura utilizada e pode envolver mecanismos de rede, virtualização, gerenciamento de máquinas, automação ou outros recursos.


Alta Disponibilidade PostgreSQL e Disaster Recovery

Alta disponibilidade e Disaster Recovery são conceitos relacionados, mas não representam exatamente a mesma estratégia.

Alta disponibilidade normalmente busca reduzir a indisponibilidade provocada por falhas no ambiente operacional.

Disaster Recovery busca recuperar o serviço diante de eventos mais abrangentes, como perda de infraestrutura, desastre físico ou indisponibilidade de uma localidade.

Uma arquitetura corporativa pode combinar alta disponibilidade local com um ambiente de Disaster Recovery remoto.


Alta Disponibilidade PostgreSQL e Backup

Replicação não substitui backup.

Um erro lógico, exclusão acidental ou corrupção que seja replicado também pode atingir os servidores Standby.

Por isso, uma estratégia corporativa deve combinar diferentes mecanismos de proteção:

  • Alta disponibilidade.
  • Replicação.
  • Backups.
  • Política de retenção.
  • Recuperação Point-in-Time.
  • Disaster Recovery.
  • Testes de restauração.

Testes de Failover

Uma arquitetura de alta disponibilidade somente deve ser considerada confiável quando seus procedimentos de failover são testados regularmente.

O teste precisa avaliar não apenas a promoção do Standby, mas também a capacidade de toda a aplicação continuar funcionando.

  • Simulação de queda do Primary.
  • Detecção da falha.
  • Promoção do Standby.
  • Reconexão da aplicação.
  • Validação dos dados.
  • Validação do novo Primary.
  • Reconfiguração dos demais Standby.
  • Reintegração do servidor afetado.
  • Verificação dos logs.
  • Medição do tempo de recuperação.

O procedimento de criação de um cluster Failover Manager também pressupõe a existência de replicação por streaming entre Primary e Standby antes da configuração do mecanismo de alta disponibilidade.


Reintegração do antigo Primary

Depois de um failover, o servidor que anteriormente era Primary não deve simplesmente retornar à produção sem uma avaliação do seu estado.

É necessário verificar a situação do banco, a linha do tempo da replicação e o estado dos dados antes de reintegrá-lo ao cluster.

Dependendo da situação, ferramentas e procedimentos específicos do PostgreSQL podem ser utilizados para reconstruir ou sincronizar o antigo Primary como Standby.


Alta Disponibilidade PostgreSQL em ambientes corporativos

Em ambientes corporativos, alta disponibilidade deve ser tratada como uma arquitetura integrada.

O banco de dados representa apenas uma parte da cadeia de disponibilidade. Os demais componentes precisam ser projetados para acompanhar a mudança do Primary durante um incidente.

  • Servidores.
  • Rede.
  • Armazenamento.
  • Sistema operacional.
  • PostgreSQL.
  • Replicação.
  • Failover.
  • Connection pooling.
  • Aplicações.
  • DNS ou Virtual IP.
  • Load balancers.
  • Monitoramento.
  • Backup.
  • Disaster Recovery.

Equipe técnica da Dominus Tech analisando ambiente corporativo de alta disponibilidade PostgreSQL em uma sala de operações com servidores Primary e Standby, replicação, failover, monitoramento, backup e Disaster Recovery.
Equipe técnica da Dominus Tech analisando uma arquitetura empresarial de alta disponibilidade PostgreSQL, com replicação, monitoramento, failover, backup e Disaster Recovery.

Alta Disponibilidade PostgreSQL com EDB Postgres

O ecossistema EDB oferece diferentes tecnologias que podem participar de arquiteturas corporativas baseadas em PostgreSQL.

O EDB Failover Manager é direcionado a arquiteturas Primary-Standby utilizando streaming replication, enquanto outras tecnologias do ecossistema podem atender diferentes necessidades de distribuição, replicação e disponibilidade.

A escolha da arquitetura depende do modelo de escrita, requisitos de consistência, distribuição geográfica, RPO, RTO, necessidade de escalabilidade e complexidade operacional.


PostgreSQL nativo ou EDB para Alta Disponibilidade?

O PostgreSQL oferece os recursos fundamentais necessários para construir arquiteturas robustas de alta disponibilidade, incluindo replicação e servidores Standby.

Ferramentas complementares podem automatizar monitoramento, promoção, gerenciamento do cluster e redirecionamento das conexões.

Em ambientes corporativos, uma solução como EDB Failover Manager pode simplificar determinadas arquiteturas Primary-Standby ao fornecer mecanismos específicos para gerenciamento e failover. A documentação oficial da EDB descreve o produto justamente para arquiteturas de alta disponibilidade com streaming replication.

A decisão deve considerar os requisitos técnicos e operacionais da organização, e não somente a tecnologia isoladamente.


Checklist de Alta Disponibilidade PostgreSQL

  • Definir RPO.
  • Definir RTO.
  • Definir quantidade de Standby.
  • Escolher replicação síncrona ou assíncrona.
  • Definir estratégia de failover.
  • Definir estratégia de switchover.
  • Planejar fencing.
  • Definir mecanismo de conexão da aplicação.
  • Monitorar atraso de replicação.
  • Monitorar os nós do cluster.
  • Proteger os backups.
  • Definir Disaster Recovery.
  • Testar failover.
  • Testar recuperação.
  • Documentar procedimentos.
  • Revisar periodicamente a arquitetura.

Conclusão

Alta Disponibilidade PostgreSQL é uma combinação de replicação, redundância, monitoramento, failover, conexão das aplicações, backup, recuperação e processos operacionais.

O PostgreSQL oferece os recursos fundamentais para construção dessas arquiteturas, enquanto ferramentas especializadas podem automatizar tarefas de monitoramento, promoção e gerenciamento do ambiente.

Para ambientes corporativos e de missão crítica, a arquitetura deve ser projetada de acordo com RPO, RTO, disponibilidade desejada, distribuição geográfica, requisitos de consistência e procedimentos de recuperação.

Mais importante do que simplesmente possuir servidores redundantes é garantir que o ambiente consiga detectar falhas, promover corretamente um novo Primary, redirecionar as aplicações, preservar os dados dentro do RPO definido e recuperar o nó afetado de maneira controlada.


Links Relacionados


Recursos Oficiais


FAQ — Perguntas Frequentes

O que é Alta Disponibilidade PostgreSQL?

É uma arquitetura que utiliza redundância, replicação, monitoramento e mecanismos de failover para reduzir o tempo de indisponibilidade do banco de dados diante de falhas.

PostgreSQL possui recursos nativos para Alta Disponibilidade?

Sim. O PostgreSQL possui recursos fundamentais para construção de arquiteturas de alta disponibilidade, incluindo replicação e servidores Standby. A automação do failover pode ser complementada por ferramentas especializadas.

Qual a diferença entre replicação e Alta Disponibilidade?

Replicação mantém dados entre diferentes servidores. Alta disponibilidade utiliza replicação juntamente com monitoramento, failover, mecanismos de conexão e procedimentos de recuperação para manter o serviço operacional.

O que é failover PostgreSQL?

É o processo de promoção de um servidor Standby para assumir a função de Primary depois de uma falha.

O que é switchover?

É uma mudança planejada da função de Primary para outro servidor, normalmente utilizada em atividades controladas de manutenção ou administração.

O PostgreSQL pode ter vários servidores Standby?

Sim. Uma arquitetura PostgreSQL pode utilizar múltiplos Standby para aumentar a redundância e atender diferentes necessidades de alta disponibilidade, recuperação e distribuição de cargas.

O EDB Failover Manager funciona com PostgreSQL?

Sim. A documentação oficial da EDB informa que o Failover Manager pode ser utilizado com PostgreSQL e EDB Postgres Advanced Server.

Alta disponibilidade substitui backup?

Não. Replicação e alta disponibilidade não substituem uma estratégia de backup. Um erro lógico ou exclusão acidental pode ser reproduzido nos servidores replicados.

Alta disponibilidade substitui Disaster Recovery?

Não necessariamente. Alta disponibilidade e Disaster Recovery possuem objetivos diferentes e podem ser utilizados conjuntamente em uma arquitetura corporativa.

É necessário testar o failover?

Sim. O failover deve ser testado periodicamente para validar a promoção do Standby, a reconexão das aplicações, a recuperação do servidor afetado e o cumprimento do RTO definido.

É possível utilizar alta disponibilidade entre diferentes Data Centers?

Sim. É possível distribuir os componentes do ambiente entre diferentes localidades, desde que a arquitetura seja dimensionada considerando latência, conectividade, replicação, consistência e requisitos de recuperação.


Modernize seu Banco de Dados com a Dominus Tech

Monitoramento corporativo de PostgreSQL com observabilidade, performance, infraestrutura crítica e indicadores de disponibilidade da Dominus Tech Gold Partner EDB
Monitore, otimize e evolua sua infraestrutura PostgreSQL com observabilidade, alta performance e monitoramento corporativo da Dominus Tech Gold Partner EDB.

👉Planejando uma Migração Oracle para PostgreSQL?

A Dominus Tech é Parceira Gold da EnterpriseDB e apoia empresas em todas as etapas da modernização de bancos de dados Oracle para PostgreSQL. Nossa equipe possui experiência em ambientes corporativos de missão crítica, oferecendo serviços de assessment, planejamento, migração, otimização de desempenho, alta disponibilidade, observabilidade e suporte especializado para plataformas PostgreSQL Enterprise.

✔ Parceira Gold da EnterpriseDB no Brasil

A migração de Oracle para PostgreSQL representa uma oportunidade estratégica para reduzir custos de licenciamento, modernizar a infraestrutura e construir uma plataforma preparada para o futuro. Com uma metodologia estruturada e ferramentas especializadas da EnterpriseDB, ajudamos organizações a realizar essa transição com segurança, preservando aplicações críticas e minimizando riscos operacionais.

👉Entre em contato com nossos especialistas e solicite uma avaliação técnica do seu ambiente Oracle. Descubra a melhor estratégia para migrar para PostgreSQL com segurança, desempenho e redução de custos.