PgPool-II 和 repmgr 自动故障转移

var*_*447 3 postgresql pgpool repmgr automatic-failover

我有用于 HA 的 pgpool-II 和用于自动故障转移的 repmgr。Pgpool-II 也可以运行故障转移 我只是想知道使用 pgpool 或 repmgr 进行自动故障转移?如果 pgpool 可以进行故障转移,我是否需要使用 repmgr?并使用shell脚本来晋升新高手?

Sau*_*ule 5

我想通过 repmgrd 进行自动故障转移,并仅使用 pgpool 作为应用程序的入口点。它几乎可以工作:我已将 pgpool 配置文件中的failover_command 设置为空字符串('')。当主数据库发生故障时,pgpool会执行failover_command(由于failover_command为空,所以什么也不做),然后它会反复尝试寻找新的master。当rempgrd完成故障转移后,pgpool会看到新的master,一切都很好。

如果 master 停止,repmgrd 将在 x 秒后执行故障转移(取决于重新连接间隔和 attemps 参数)。你必须确保 pgpool 中指定的健康检查间隔大于该间隔,否则 pgpool 会过早分离已停止的数据库:参数是 health_chek_max_retries 和 health_check_retry_delay (还有 health_check_period 不清楚)。您还必须将failover_on_backend_error 设置为no。

不过我对这个设置不是很有信心,我仍然需要更深入地测试它。