Как выполнить возврат к кластеру Postgresql с помощью repmgr?

Я хочу создать кластер Postgresql в облачной среде (да, я знаю, что это плохая идея... но это не вопрос). Для вашей информации я использую Dockerized Postgresql (см.: https://github.com/paunin/postgres-docker-cluster), но это не проблема и не вопрос.

Поэтому я установил 2 Postgresql 9.5 с потоковой репликацией. На каждом хосте у меня установлен и правильно настроен repmgr 3.2.1.

В следующем случае есть некоторые проблемы:

  1. остановить мастера,
  2. ждать переключения на подчиненном устройстве -> хорошо,
  3. перезапустите старый мастер -> Ко, у меня есть 2 мастера в кластере, показанном repmgr cluster show и я не нахожу никакого решения, чтобы заставить старого мастера стать рабом.

Единственное уродливое решение, которое я нашел, - удалить все данные старого мастера и перезапустить его. Делая это, он стал рабом, как и ожидалось (но полная ресинхро необходима...).

Обратите внимание, что, кажется, невозможно заставить старого мастера стать рабом. repmgr standby register не работает, как говорится:

[2016-12-06 15:04:04] [INFO] connecting to standby database [2016-12-06 15:04:04] [ERROR] this node should be a standby (user=replication_user password=replication_pass host=psg-host21 dbname=replication_db port=5432 connect_timeout=2) [2016-12-06 15:04:04] [INFO] connecting to database Role | Name | Upstream | Connection String ----------+------------|------------|------------------------------------------------------------------------------------------------------------------ * master | psg-host21 | | user=replication_user password=replication_pass host=psg-host21 dbname=replication_db port=5432 connect_timeout=2 * master | psg-host22 | psg-host21 | user=replication_user password=replication_pass host=psg-host22 dbname=replication_db port=5432 connect_timeout=2

Любая помощь будет принята с благодарностью.

1 ответ

Если вам нужен высокодоступный кластер Postgres, управляемый repmgr, вы можете использовать pg-dock

Это инструмент для подключения кластера Postgres к repmgr.

Другие вопросы по тегам