0

我有一个 2 个节点的 postgres 活动/备用集群,我使用 repmgr 创建集群。问题是,当我停止主节点上的 postgres 服务时,不会发生自动故障转移。master上的repmgr.conf文件内容如下:

node_id=1
data_directory='/data/pgdatabase/masterdb/data'
node_name=node1
conninfo='host=IP-Of-Master user=repmgr dbname=repmgr'
failover=automatic
promote_command='repmgr standby promote -f /etc/repmgr/11/repmgr.conf --log-to-file'
follow_command='repmgr standby follow -f /etc/repmgr/11/repmgr.conf --log-to-file  --upstream-node-id=%n'
log_file='/var/log/repmgr/repmgr.log'
log_level=NOTICE
reconnect_attempts=4
reconnect_interval=5
repmgrd_service_start_command='sudo systemctl repmgr11 start'
repmgrd_service_stop_command='sudo systemctl repmgr11 stop'

postgresql.conf 的内容如下:

listen_addresses = '*'
shared_preload_libraries = 'repmgr'
max_wal_senders = 15
max_replication_slots = 15
wal_level = 'replica'
hot_standby = on
archive_mode = on
archive_command = 'cp %p /var/lib/pgsql/11/archive/%f'

master和slave上的内容相同,除了名称,slave上的node2。谁能指导我自动故障转移未发生的可能原因

4

1 回答 1

0

我自己解决了,我需要创建文件 /etc/default/repmgrd 并在其中添加以下行

REPMGRD_ENABLED=yes
REPMGRD_CONF="/etc/repmgr.conf"
于 2020-05-03T10:19:00.217 回答