具有部分同步提交的PostgreSQLasynchronous集群

我们正在计划一个具有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。