Configurar a replicação de espera primária para Postgres

Por padrão, o Edge instala todos os nós do Postgres no modo principal. No entanto, em sistemas de produção com vários nós do Postgres, você os configura para usar a replicação de espera primária para que, se o nó primário falhar, o nó de espera possa continuar a exibir o tráfego.

Se o nó principal falhar, você poderá promover o servidor em espera para o principal. Consulte Como lidar com um failover de banco de dados PostgreSQL para mais informações.

Configurar a replicação primária em espera no momento da instalação

É possível configurar a replicação de espera primária no momento da instalação incluindo as seguintes propriedades no arquivo de configuração dos dois nós do Postgres:

PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
PG_STANDBY=IP_OR_DNS_OF_NEW_STANDBY

O instalador configura automaticamente os dois nós do Postgres para funcionar como principal-em espera com replicação.

Configurar a replicação principal-em espera após a instalação

É possível configurar a replicação de espera principal após a instalação usando o seguinte procedimento:

  1. Identifique qual nó do PostgreSQL será o servidor principal e qual será o servidor em espera.
  2. No nó principal, edite o arquivo de configuração para definir:
    PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
    PG_STANDBY=IPorDNSofNewStandby
  3. Ative a replicação na nova instância principal:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  4. No nó em espera, edite o arquivo de configuração para definir:
    PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
    PG_STANDBY=IPorDNSofNewStandby
  5. Interrompa o nó em espera:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. No nó em espera, exclua todos os dados do Postgres:
    rm -rf /opt/apigee/data/apigee-postgresql/
  7. Configure o nó em espera:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile

Testar a replicação primária em espera

Após a conclusão da replicação, verifique o status dela emitindo os seguintes scripts em ambos os servidores. O sistema precisa exibir resultados idênticos nos dois servidores para garantir uma replicação bem-sucedida:

  1. No nó principal, execute:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Confirme se ela é a principal.

  2. No nó em espera:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Verifique se ele diz que é o de espera.