DB Internals AtlasPostgreSQL 18.6 Home About

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.

See it in context

Write-ahead log (WAL)

Related parameters

commit_delay synchronous_commit

All Write-Ahead Log parameters