Parameter · Write-Ahead Log / Settings
commit_siblings
Sets the minimum number of concurrent open transactions required before performing "commit_delay".
- Default:
5 - Type: integer
- Range: 0 … 1000
- Applies: Session (any user)
In plain words
commit_delay only makes sense if other transactions are likely to commit soon. commit_siblings is that check: the delay is used only when at least this many other transactions are currently active. With few active sessions, commits flush immediately.
For DBAs and operators
Evaluated when a backend is about to perform a WAL flush with commit_delay > 0: it counts other backends with an open transaction (cheap, approximate). Fewer than commit_siblings → no sleep. Default 5. Has no effect while commit_delay = 0, which is the default, so on most servers it does nothing at all.
Higher values restrict the delay to really busy periods, making latency spikes at low load less likely. Tune together with commit_delay using a benchmark at realistic concurrency.
How to change it
Any user can change it for their session with SET.