Можно ли демонтировать главный узел, не используя "repmgr standby clone" и pg_rewind?

В настоящее время я использую postgresql с репликацией доставки журналов. Я использую ресурс master/slave для кардиостимулятора, чтобы справиться с отработкой отказа postgresql.

Я спрашивал, есть ли способ понизить мастер, установить его в режим ожидания и поддерживать синхронизацию без использования "repmgr standby clone" или pg_rewind.

На самом деле, я хочу, чтобы старый мастер был быстро готов вернуться в основное состояние, а "резервный клон repmgr" восстанавливается несколько минут, что слишком долго.

Я вижу, что можно использовать pg_rewind для более быстрой синхронизации, но это подразумевает включение wal_log_hints, и я боюсь, что эти опции снизят производительность мастера. Мастер уже слишком занят.

Я пытаюсь просто записать recovery.conf в каталог данных, мастер хорошо переключился в подчиненный режим, однако он не имеет восходящего потока:

[root@bkm-01 httpd]# su - postgres -c "/usr/pgsql-9.5/bin/repmgr -f /var/lib/pgsql/repmgr/repmgr.conf cluster show" Role | Name | Upstream | Connection String ----------+--------|----------|-------------------------------------- * master | node-02 | | host=node-02 user=repmgr dbname=repmgr standby | node-01 | | host=node-01 user=repmgr dbname=repmgr

Я хотел бы, чтобы это было достаточно ясно, я на самом деле новичок в репликации базы данных. Любая помощь будет оценена.

1 ответ

Решение

Я нашел решение сам. На самом деле бывший мастер просто необходимо зарегистрироваться после того, как был понижен в должности. --force следует использовать, если узел был ранее зарегистрирован.

[root@node-01 ] su - postgres -c "/usr/pgsql-9.5/bin/repmgr -f /var/lib/pgsql/repmgr/repmgr.conf standby register --force"
Другие вопросы по тегам