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
 
posted @ 2017-08-22 16:41  pg_libs  阅读(793)  评论(0)    收藏  举报