主库配置postgresql.conf文件
synchronous_commit : 开篇提到的那个重要参数!
synchronous_standby_names: 这里的name填写,刚刚查询到的application_name。
重启主库服务 再次查看主库字典 数据保护测试关闭备库。模拟备库宕机无法正常接收WAL
主库尝试进行DML操作
由于备库已关闭,无法接受从主库传来的WAL,根据同步规则,主库需要一直等待主库接收到WAL的消息。
手动进行了cancel, 数据库报错。说明在等待备库reguest相应。
所以,sync同步模式虽然可以很好的保护数据,但同时也带来了性能的影响,需慎重
补充:PostgreSQL 流复制数据同步检查
如何分辨主、备
看进程主库 – walwriter
备库 – walreceiver
函数方法一句话判断哪个是主库、哪个是备库,返回的值:
f 为主库
t 为备库
那我这个就是主库喽~
检查流复制同步情况先确定主库传到哪儿了
在确定备库接收到哪儿了
最后确定备库应用到哪儿了
检查主库传输确定主库传到什么位置了
检查备库恢复确定备库接收到哪儿了
确定备库应用到哪儿了
最近事务应用的时间
以上为个人经验,希望能给大家一个参考,也希望大家多多支持七叶笔记。如有错误或未考虑完全的地方,望不吝赐教。