Gestione del failover di un database PostgreSQL

Durante il failover di un database PostgreSQL, esegui le operazioni seguenti:

  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 in 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 il master precedente viene ripristinato in un momento successivo, impostalo come nodo in standby:

  1. Nel master attuale, modifica il file di configurazione impostando:
    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 in modo da impostare:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  4. Interrompi apigee-postgresql sul vecchio master:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  5. Nel vecchio master, pulisci tutti i vecchi dati di Postgres:
    rm -rf /opt/apigee/data/apigee-postgresql/
  6. Configura il master precedente 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 quanto segue su entrambi i server. Il sistema dovrebbe mostrare risultati identici su entrambi i server per per eseguire una replica corretta:
    1. Sul nodo master, esegui:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

      Verifica che si tratti dell'istanza principale.

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

      Verifica che sia indicato che è in standby.