select open change scope Open full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

CONFIGURATION / WRITE-AHEAD LOG

commit_siblings

Read PG 18 manual ↗

Minimum number of concurrent open transactions to require before performing the commit_delay delay.

Type
integer
Context
user
Measured default
5
Unit
Metadata snapshot
18

Definition PG 18 manual

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.

Measured default history
Version intervalDefault
9.0 – 195
Analysis & operational context

Authored guidance from the GUC source snapshot; the version-specific manual above is the definition reference. View source ↗

How it works

Sets the minimum number of concurrent open transactions required before performing "commit_delay". It can be changed at session scope, so different sessions may observe different behavior.

This is the concurrency gate for commit_delay, counted from other active transactions when a commit flush is needed. It is not a count of commits already waiting and has no useful effect while commit_delay is zero.

Monitor and change commit_siblings together with commit_delay, synchronous_commit, wal_writer_delay. Validate on the relevant server role and real workload, then use its user context to choose session change, reload, or restart; a historical boot default is not the current effective value.

Operational considerations

Tuning it while commit_delay is zero, in which case the threshold has no effect.

Treating it as a count of commits already waiting rather than other active transactions.

Setting the gate too low and adding latency during ordinary moderate concurrency.

Applying a session-level experiment globally without comparing commit latency and WALSync behavior.

Workload guidance

OLAP: Bulk jobs should usually reduce commit frequency with sensible transaction batches; do not use group-commit delay to compensate for row-at-a-time ETL commits.

OLTP: Benchmark commit_siblings only under high commit concurrency with material WALSync waits and an acceptable p95/p99 latency budget. Tune commit_delay and commit_siblings as a pair and retain a zero-delay baseline.

SMALL: Low concurrency provides little opportunity, so commit_delay=0 is simplest. Even a microsecond value needs end-to-end latency evidence.

Version history 3
  1. PG 16 → 17changed
  2. PG 14 → 15changed
  3. PG 9.0 → 9.1changed

Related entries

Further reading

Definition snapshot: english-manuals:e1e6a2eeca37c7a9a3b85774a6f… · English manual source