Rootop 服务器运维与web架构

postgresql-9.6 同步复制

参考:http://blog.csdn.net/baiyinqiqi/article/details/47951687

主配置:

同步模式基于异步模式添加一个参数即可。

异步配置文档:https://www.rootop.org/pages/3928.html

先说一个其中比较重要的参数synchronous_commit,同步流复制模式需要打开这个参数。
synchronous_commit = on #默认是注释的,此功能默认是开启的。从写完以后告诉主完成才算插入成功

这个参数对性能影响还是比较大的(毕竟等于写2台机器),根据实际情况可考虑关闭,在关键数据更新时在事务中将其暂时性打开,保证关键数据不会因意外停机而丢失。

使用同步流复制模式,那么master会等待同步slave返回事务状态后,才会完成当前事务。所以如果slave停掉,那么master的事务会一直等待下去。
追加一行参数:
[root@localhost ~]# vi /var/lib/pgsql/9.6/data/postgresql.conf
synchronous_standby_names = ‘standby1’ # 这个值用来控制同步的从机应用名,这个值从从机查

从配置:
[root@localhost ~]# cat /var/lib/pgsql/9.6/data/recovery.conf
standby_mode = ‘on’
primary_conninfo = ‘user=rep password=rep host=192.168.10.50 port=5432 sslmode=prefer sslcompression=1 krbsrvname=postgres application_name=standby1

在 primary_conninfo 配置项段加了一段 application_name=standby1
standby1 需要追加到主服务器的synchronous_standby_names配置中。

重启主从。
在主上写数据测试->同步到从
停掉从机,再在主写数据就会卡主。直到从机恢复。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/3931.html

作者:Venus

专注于 服务器运维与web架构 E-mail:venus#rootop.org

评论已关闭。