Quorum Commit v6.4.0

Commit scope kind: QUORUM COMMIT

Overview

Standard synchronous replication confirms that a remote node received data, but it doesn't prevent two nodes from independently committing conflicting changes. Two nodes can each read the same row, pass their local validation checks, and both commit successfully, leaving the cluster in an inconsistent state with no error reported on either side. In a payments system, for example, two nodes each checking an account balance locally can both approve simultaneous withdrawals that together exceed the account limit.

Quorum Commit prevents this divergence by requiring a majority of nodes to agree before any node commits. If the cluster can't reach agreement, the transaction is rolled back everywhere. The result is a single, consistent state across all nodes, with no divergence and no conflicts to resolve after the fact.

Quorum Commit supersedes Group Commit, which is retained for backward compatibility only. Unlike Group Commit, which offered flexible syntax that could be misconfigured to allow inconsistency, Quorum Commit restricts syntax to what can guarantee consistency.

When to use Quorum Commit

Use Quorum Commit for workloads where inconsistencies can't be resolved after they occur. Payments and core banking are the clearest fit, where a transaction that can't be confirmed across the cluster doesn't commit anywhere. Telecom billing, regulated industries with strict audit and compliance requirements, and migrations from proprietary databases that depend on global consistency guarantees are equally good candidates. These workloads have traditionally required proprietary databases. Quorum Commit brings the same guarantees to Postgres.