我们正在计划一个具有3个节点的完全同步PG集群,但是我们问自己是否有可能具有部分同步提交的asynchronous集群。
通常情况下,您的集群完全同步,您可以通过设置“SET LOCAL synchronous_commit TO OFF”来指示单个事务是asynchronous的。 有没有其他的方式呢?
是的,你可以反过来做。
只需将其设置为正常的同步群集,但在postgresql.conf设置synchronous_commit = off 。 然后:
SET LOCAL synchronous_commit TO ON
在你想同步提交的事务中。
但请记住,一个同步提交会强制之前的提交刷新,然后才能提交。 所以如果你提交了1, 2, 3, 4, 5, [sync]6, 7, 8 ,那么在提交6可以报告成功之前,必须刷新提交1到6。