Gestione del failover di un database PostgreSQL

Durante un failover del database PostgreSQL, esegui le seguenti operazioni:

  1. Arresta apigee-postgresql sul master attuale se è ancora in esecuzione:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  2. Vai al nodo standby e richiama il seguente comando per impostarlo come master:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master IPorDNSofOldMaster

Se in futuro verrà ripristinato il master precedente, impostalo come nodo in standby:

  1. Nel master attuale, modifica il file di configurazione per impostare:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  2. Abilita la replica sul nuovo master:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
  3. Nel master precedente, modifica il file di configurazione per impostare:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  4. Arresta apigee-postgresql sul vecchio master:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  5. Nel vecchio master, elimina i dati Postgres precedenti:
    rm -rf /opt/apigee/data/apigee-postgresql/
  6. Configura il vecchio master come standby:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  7. Al termine della replica, verifica lo stato della replica inviando i seguenti script su entrambi i server. Il sistema dovrebbe mostrare risultati identici su entrambi i server per garantire una replica riuscita:
    1. Sul nodo master, esegui:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

      Verifica che sia il master.

    2. Sul nodo in standby:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

      Verifica che sia in standby.