A server parameter adding a delay before WAL flush

commit_delay is a configuration parameter for adding a time delay before a WAL flush is initiated.

commit_delay was added in PostgreSQL 7.1.

Default value

The default value for commit_delay is: 0.


If set to a non-zero value, commit_delay makes it possible for a larger number of transactions to commit via a single WAL flush, improving system throughput. Howeve it t also increases latency by up to the specified value for each WAL flush.

commit_delay is only of practical use if mulitple transactions (at least the number specified by commit_siblings, default 5) become ready to commit within the interval specified.

Change history


GUC configuration item, Transactions, WAL

See also

commit_siblings, pg_test_fsync