PostgreSQL 流复制参数 - synchronous_standby_names
该参数指定流复制中需要同步复制的服务器列表,需要配置standby服务器的名字,也即主从运行正常情况下,主节点上的pg_stat_replication系统表中的application_name信息,至于什么是standby服务器名字,以及如何设置standby服务器名字,上面也做了阐述,几种典型的synchronous_standby_names设置方式:
1,设置WAL日志强同步至某个节点
设置当前节点与ubuntu02节点wal日志写入成功后,返回客户端提交成功
synchronous_standby_names = ‘ubuntu02’
2,设置WAL日志强同步至N个节点中的某M个节点
按照指定节点的顺序,WAL至少强同步至两个节点
synchronous_standby_names = ‘FIRST 2 (ubuntu02,ubuntu03,ubuntu04)’
按照指定节点,无顺序要求,WAL至少强同步至两个节点
synchronous_standby_names = ‘ANY 2 (ubuntu02,ubuntu03,ubuntu04))’
如果当前节点在事务提交的时候,synchronous_standby_names中的节点未达到当前节点synchronous_commit设定的要求,则当前事务会被挂起,直至满足synchronous_standby_names中设定的要求