postgresql 异步流复制hot standby搭建

先说说环境,主从库版本都是9.5,主库在CentOS物理机上,从库在Ubuntu虚拟机上

一、主库上的操作:

1、添加同步访问规则:

host   replication     dbuser          192.168.1.26/16         md5
说明一下,上面的replication这个字符串不能改

2、postgresql.conf修改:

listen_addresses = '*'
max_wal_senders = 5
wal_level = hotstandby
wal_keep_segments = 64   

简单说明一下,一般主库配置要求打开archive_mod,某贴说那个比较耗资源,就暂时用wal_keep_segments配置起类似作用

二、从库操作

1、生成基础备份

pg_basebackup -D ./hotstandbydata -W -R -F p -P --xlog-method=stream --dbname="host=192.168.1.27 user=dbuser"
2、修改从库配置,在刚才的hotstandbydata目录里面找到postgresql.conf启动其从库模式:

hot_standby = on

3、启动从库

pg_ctl -D ./hotstandbydata -l hotstandby.log start

4、从库关闭:

pg_ctl -D ./hotstandbydata -l hotstandby.log stop

采用3中命令行启动的数据库服务,必须采用4中的命令关闭,用/etc/init.d中的命令关闭,会导致下次采用3中命令启动时报错:pid文件被占。

说几个问题:1、是大多数的操作最好在postgres用户下执行,2、最后的pg_ctl命令找不到,不用去装postgres-xc那个东西,postgresql本身就有,只是整到系统路径下,做个软链接就可用了。

参考资料:https://book.douban.com/subject/26389922/

https://wiki.postgresql.org/wiki/Hot_Standby

http://www.postgresql.org/docs/9.5/static/app-pgbasebackup.html

http://francs3.blog.163.com/blog/static/40576727201305159244/

http://francs3.blog.163.com/blog/static/40576727201108864230/

你可能感兴趣的:(postgresql 异步流复制hot standby搭建)