repmgr学习记录(搭建主从复制)
1.在master和standby上安装PG、repmgr,创建postgres角色(rsync is available and passwordless SSH connections are possible between both servers)
【 [postgres@node1 ~]$ ssh-keygen -t rsa
[postgres@node1 ~]$ ssh-copy-id -i .ssh/id_rsa.pub postgres@node2
[postgres@node1 ~]$ ssh node2 date
Tue Apr 15 01:17:20 CST 2014
[postgres@node2 ~]$ ssh-keygen -t rsa
[postgres@node2 ~]$ ssh-copy-id -i .ssh/id_rsa.pub postgres@node1
[postgres@node2 ~]$ ssh node1 date
Tue Apr 15 01:18:13 CST 2014
】;
2.master初始化数据库,创建配置文件postgresql.replication.conf:
max_wal_senders = 10
wal_level = 'hot_standby'
hot_standby = on
archive_mode = on
archive_command = '/bin/true'
# wal_keep_segments = 5000
,并修改postgresql.conf: include ‘postgresql.replication.conf’
3.master创建用户、数据库:createuser -s repmgr | createdb repmgr -O repmgr
4.master配置pg_hba.conf:
host replication repmgr 127.0.0.1/32 trust
host replication repmgr 192.168.98.0/24 trust
host repmgr repmgr 192.168.98.0/24 trust
5.master创建repmgr.conf配置文件:
cluster=test 【所有节点保持一致】
node=1
node_name=node1
conninfo='host=repmgr_node1 user=repmgr dbname=repmgr'
6.master修改repmgr的搜索路径:ALTER USER repmgr SET search_path TO repmgr_test, "$user", public;
7.master节点初始化master:repmgr -f repmgr.conf master register
8.standby节点创建repmgr.conf:
cluster=test node=2 node_name=node2 conninfo='host=repmgr_node2 user=repmgr dbname=repmgr'
9.克隆standby:repmgr -h 192.168.98.55 -U repmgr -d repmgr -D /home/postgres/PG-9.6.1/ -f /home/postgres/repmgr.conf standby clone
10.调整配置文件,启动standby数据库:pg_ctl -D /home/postgres/PG-9.6.1/ start
11.注册standy数据库:repmgr -f repmgr.conf standby register

浙公网安备 33010602011771号