Configurar a replicação de espera principal para o Postgres

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

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

Configurar a replicação mestre-em espera no momento da instalação

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

PG_MASTER=IPorDNSofNewMaster
PG_STANDBY=IPorDNSofNewStandby

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

Configurar a replicação mestre-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 mestre e qual será o servidor em espera.
  2. No nó mestre, edite o arquivo de configuração para definir:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  3. Ative a replicação no novo mestre:
    /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=IPorDNSofNewMaster
    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 mestre-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ó mestre, execute:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Confirme se ele diz que é o mestre.

  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.