Обработка отказа базы данных PostgreSQL

Выполните следующие действия во время отработки отказа базы данных PostgreSQL:

  1. Остановить apigee-postgresql на текущем мастере, если он все еще работает:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  2. Перейдите к резервному узлу и вызовите следующую команду, чтобы сделать его ведущим:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master IPorDNSofOldMaster

Если старый мастер будет восстановлен когда-нибудь в будущем, сделайте его резервным узлом:

  1. На текущем мастере отредактируйте файл конфигурации, чтобы установить:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  2. Включить репликацию на новом мастере:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
  3. На старом мастере отредактируйте файл конфигурации, чтобы установить:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  4. Остановить apigee-postgresql на старом мастере:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  5. На старом мастере удалите все старые данные Postgres:
    rm -rf /opt/apigee/data/apigee-postgresql/
  6. Настройте старый мастер в качестве резервного:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  7. По завершении репликации проверьте состояние репликации, выполнив следующие сценарии на обоих серверах. Система должна отображать одинаковые результаты на обоих серверах, чтобы обеспечить успешную репликацию:
    1. На главном узле запустите:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

      Убедитесь, что он говорит, что это мастер.

    2. На резервном узле:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

      Убедитесь, что он говорит, что это резервный.