为什么在集群PSQL中有3个节点的一个节点 - sync_state = sync和下一个节点sync_state = async?
我想PostgreSQL同步流数据库复制状态=同步。为什么在集群PSQL中有3个节点的一个节点 - sync_state = sync和下一个节点sync_state = async?
我部署了3节点的PostgreSQL集群并写入同步类型 - 同步。但是,当我检查类型SELECT * FROM pg_stat_replication;
- 我得到第一个节点 - sync_state = sync
,和其他async
,什么是?为什么它的两种不同类型?
对于PostgreSQL中的同步流式复制,主服务器上的提交被延迟,直到其中一台备用服务器收到相应的WAL信息(其确切含义可用synchronous_commit
配置)。
首先确认接收WAL信息的备用服务器是sync_state
'sync'
,另一个将是'async'
。
但我认为在新版本9.6中可能会有3个节点同步。 您对此有何看法? –
是的,但只有当['synchronous_standby_names'](https://www.postgresql.org/docs/current/static/runtime-config-replication.html#GUC-SYNCHRONOUS-STANDBY-NAMES)配置适当时,即启动括号前有一个数字。请注意,如果您有一个同步复制系统,其中* all *的所有备用数据库都是同步的,则您的可用性将* * * - 如果任何备用数据库失败,整个系统将变为不可用状态。 –
'show synchronous_standby_names' on master?.. –