PostgreSQL数据库有着各种各样的高可用方案,绝大多数,都是基于流复制机制实现的,常见的例如Patroni+DCS,Pacemaker+Corosync,Repmgr,keepalived,pg_auto_failover,PGpool等等,其中使用较多的应该是Patroni和Repmgr两种,下文针对PostgreSQ的两种高可用方案Repmgr和Patroni进行部分场景对比。
一、Repmgr
1.Repmgr特点
Repmgr是2010年由2ndQuadrant推出的一款PostgreSQL故障切换工具,repmgr是一个开源工具套件,用于管理PostgreSQL服务器集群中的复制和故障转移。它扩展了PostgresSQL内建的hot-standby能力,可以监控复制和执行管理任务。
(1)Repmgr命令管理 (replication manager)
Repmgr是一个命令行工具,日常操作主要通过Repmgr进行操作,功能包括集群状态查看、switchover、克隆备库、失效节点重新加入等。
用于执行管理任务的命令行工具,主要有以下方面作用:
- 设置备用服务器
- 将备用服务器升级为主服务器
- 切换主服务器和备用服务器
- 显示流复制状态
- clone恢复备机数据
- 注册节点