Продвижение PostgreSQL - Высокая доступность - PullRequest
0 голосов
/ 22 января 2019

Я довольно новичок в HA (High Availability) развертывании PostgreSQL. Прошу прощения за мое невежество, если вопросы глупые. Я прочитал статьи и документацию онлайн, в которых говорится, что необходимо выполнить команду pg_ctl promote, когда подчиненная база данных должна быть переведена в master. Однако мне не удалось найти ответы на следующие вопросы.

1) Почему требуется запускать команду продвижения на ведомом устройстве? Что произойдет, если мы удалим файл recovery.conf и запустим ведомое устройство с основными настройками, не выполняя команду продвижение? Что делает внутреннее продвижение?

2) Рассмотрим следующий сценарий:

  • Master DB работает на хосте A
  • Подчиненная БД работает на хосте B
  • Сбой хоста A, подчиненная БД на хосте B продвигается с помощью команды продвижения.
  • Теперь, на хосте B происходит сбой, и нам удалось запустить PostgreSQL на хосте A, который был мастером в случае сбоя. Это сценарий потери данных. Будет ли PostgreSQL на хосте А переключаться на новую временную шкалу? Как следует обрабатывать этот сценарий, чтобы поддерживать согласованность сроков, чтобы мы могли выполнить PITR (восстановление во времени)?

Заранее спасибо за любую помощь!

...