我们正在规划一个具有 3 个节点的完整同步 PG 集群,但我们问自己是否有可能拥有一个具有部分同步提交的异步集群。
通常情况下,您可以让集群完全同步,然后可以通过设置“SET LOCALsynchronous_commit TO OFF”来让单个事务异步。还有其他方法吗?
答案1
是的,你可以反过来做。
就像设置普通同步集群一样,但设置synchronous_commit = off
在postgresql.conf
。然后:
SET LOCAL synchronous_commit TO ON
在您想要同步提交的交易中。
但请记住,同步提交将强制刷新先前的提交,然后才能提交。因此,如果您执行提交1, 2, 3, 4, 5, [sync]6, 7, 8
,则提交 1 到 6包括的必须在提交 6 报告成功之前刷新。