Minimum number of concurrent open transactions to require before performing the commit_delay delay.
At a glance
| Property | Value |
|---|---|
| Parameter | commit_siblings |
| Category | Write Ahead Log |
| Default | five |
| Value type | integer |
| Change scope | Per-session (SET) |
| Available in | PostgreSQL 12, 13, 14, 15, 16, 17, 18, 19 (added in 12) |
What it does
Minimum number of concurrent open transactions to require before performing the commit_delay delay. A larger value makes it more probable that at least one other transaction will become ready to commit during the delay interval. The default is five transactions.
(Description quoted from the official PostgreSQL documentation.)
How to apply a change
Can be set per session with SET, per role/database with ALTER ROLE/DATABASE ... SET, or globally in postgresql.conf.
Inspect the current value and source with SHOW commit_siblings; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'commit_siblings';.
Tuning guidance
Lower it so commit_delay engages with fewer concurrent transactions; raise it to require heavy concurrency before delaying. Only relevant when commit_delay is non-zero.