Como processar um failover de banco de dados PostgreSQL

Edge para nuvem privada v. 4.16.05

Faça o seguinte durante um failover de banco de dados do PostgreSQL:

  1. Pare o apigee-postgresql no mestre atual, se ele ainda estiver em execução:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service stop apigee-postgresql stop.
  2. Acesse o nó de espera e invoque o seguinte comando para torná-lo mestre:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master IPorDNSofOldMaster

Se o mestre antigo for restaurado em algum momento no futuro, torne-o um nó de espera:

  1. No mestre atual, edite o arquivo de configuração para definir:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  2. Ative a replicação no novo mestre:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
  3. No mestre antigo, edite o arquivo de configuração para definir:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  4. Pare apigee-postgresql no mestre antigo:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop (em inglês)
  5. No mestre antigo, limpe todos os dados antigos do Postgres:
    > rm -rf /<inst_root>/apigee/data/apigee-postgresql/

    Observação: se necessário, você pode fazer backup desses dados antes de excluí-los.
  6. Configure o mestre antigo como espera:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  7. Após a conclusão da replicação, emita os seguintes scripts nos dois servidores para verificar o status dela. O sistema precisa exibir resultados idênticos nos dois servidores para garantir uma replicação bem-sucedida:
    1. No nó mestre, execute:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

      Faça a validação informando que é o mestre.
    2. No nó de espera:
      > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

      Verifique se está em espera.