Synchronous Commit v5.6
Commit scope kind: SYNCHRONOUS COMMIT
Overview
PGD's SYNCHRONOUS COMMIT
is a commit scope kind that works in a way that's more like PostgreSQL's synchronous_commit
option in its underlying operation. Unlike the PostgreSQL option, though, it's configured as a commit scope and is easier to configure and interact with in PGD.
Unlike other commit scope kinds, such as GROUP COMMIT
and CAMO
, the transactions in a SYNCHRONOUS COMMIT
operation aren't transformed into a two-phase commit (2PC) transaction. They work more like a Postgres synchronous_commit
.
Example
In this example, when this commit scope is in use, any node in the left_dc
group uses SYNCHRONOUS COMMIT
to replicate changes to the other nodes in the left_dc
group. It looks for a majority of nodes in the left_dc
group to confirm that they committed the transaction.
Configuration
SYNCHRONOUS COMMIT
supports the optional DEGRADE ON
clause. See the SYNCHRONOUS COMMIT
commit scope reference for specific configuration parameters or see this section regarding Degrade on options.
Confirmation
Confirmation level | PGD Synchronous Commit handling |
---|---|
received | A remote PGD node confirms the transaction once it's been fully received and is in the in-memory write queue. |
replicated | Same behavior as received . |
durable | Confirms the transaction after all of its changes are flushed to disk. Analogous to synchronous_commit = on in legacy synchronous replication. |
visible (default) | Confirms the transaction after all of its changes are flushed to disk and it's visible to concurrent transactions. Analogous to synchronous_commit = remote_apply in legacy synchronous replication. |
Details
Currently SYNCHRONOUS COMMIT
doesn't use the confirmation levels of the commit scope rule syntax.
In commit scope rules, the original keyword SYNCHRONOUS_COMMIT
is now aliased to SYNCHRONOUS COMMIT
. The use of a space instead of an underscore helps distinguish it from Postgres's native SYNCHRONOUS_COMMIT
.
- On this page
- Overview
- Example
- Configuration
- Confirmation
- Details