|
*************************************************
4.在备库pg02上进行配置
****************************************************
$pg_ctl -m "immediate" stop
-----4.1 备份数据
$rm -rf /data/pg/data/*
$pg_basebackup -h 192.168.50.110 -U repluser -F p -P -x -R -D /data/pg/data/ -l backup20150921
Password:
54491/54491 kB (100%), 1/1 tablespace
--4.2 修改备库的pg02的recovery.conf
$ cat /data/pg/data/recovery.conf
standby_mode = 'on'
primary_conninfo = 'user=repluser password=123 host=192.168.50.110 port=5432 sslmode=disable sslcompression=1'
$vi /data/pg/data/recovery.conf
#增加application_name,这个参数和主库中synchronous_standby_names指定的对应值一样.
standby_mode = 'on'
primary_conninfo = 'application_name=pg02 user=repluser password=123 host=192.168.50.110 port=5432 sslmode=disable sslcompression=1'
recovery_target_timeline = 'latest' # 这个说明这个流复制同步到最新的数据
---4.3 修改备库的pg02的postgresql.conf
vi /data/pg/data/postgresql.conf
64 max_connections = 1000 # 一般查多于写的应用从库的最大连接数要比较大
245 hot_standby = on
255 hot_standby_feedback = on
---4.4 备库pg02启动
pg_ctl start
$ cat /data/pg/data/pg_log/pg01-2015-09-21_151458.log
LOG: database system was shut down in recovery at 2015-09-21 15:14:29 CST
LOG: entering standby mode
LOG: redo starts at 0/30002E8
LOG: consistent recovery state reached at 0/30003C0
LOG: database system is ready to accept read only connections
LOG: record with zero length at 0/30003C0
LOG: started streaming WAL from primary at 0/3000000 on timeline 1
****************************************************
5.复制监控
****************************************************
select pid,state,client_addr,sync_priority,sync_state from pg_stat_replication;
pid | state | client_addr | sync_priority | sync_state
-------+-----------+----------------+---------------+------------
65392 | streaming | 192.168.50.120 | 1 | sync
(1 row)
+-----+----------+----------+------------------+----------------+-----------------+-------------+-------------------------------+--------------+-----------+---------------+----------------+----------------+-----------------+---------------+------------+
| pid | usesysid | usename | application_name | client_addr | client_hostname | client_port | backend_start | backend_xmin | state | sent_location | write_location | flush_location | replay_location | sync_priority | sync_state |
+-----+----------+----------+------------------+----------------+-----------------+-------------+-------------------------------+--------------+-----------+---------------+----------------+----------------+-----------------+---------------+------------+
| 632 | 16384 | repluser | pg02 | 192.168.50.120 | NULL | 36746 | 2015-09-21 17:17:41.730857+08 | 1826 | streaming | 0/3002718 | 0/3002718 | 0/3002718 | 0/3002718 | 1 | sync |
+-----+----------+----------+------------------+----------------+-----------------+-------------+-------------------------------+--------------+-----------+---------------+----------------+----------------+-----------------+---------------+------------+
1 row in set
pid | 8467 # sender的进程
usesysid | 44673 # 复制的用户id
usename | replica # 复制的用户用户名
application_name | walreceiver
client_addr | 10.12.12.1 |