В настоящее время я использую postgresql с репликацией доставки журнала. Я использую главный/подчиненный ресурс кардиостимулятора для обработки отказоустойчивости postgresql.
Я спрашивал, есть ли способ понизить мастер, установить его в качестве резервного и поддерживать синхронизацию без использования «резервного клона repmgr» и 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
Я хочу, чтобы это было достаточно ясно, я на самом деле новичок в репликации базы данных. Любая помощь будет оценена по достоинству.