Configuration parameter

commit_timestamp_buffers — PostgreSQL configuration parameter

Category Resource Consumption Change scope Postmaster

Specifies the amount of memory to use to cache the contents of pg_commit_ts (see pgdata_contents_table).

At a glance

Property Value
Parameter commit_timestamp_buffers
Category Resource Consumption
Default 0
Value type integer
Change scope Server restart required (postgresql.conf)
Available in PostgreSQL 17, 18, 19 (added in 17)

What it does

Specifies the amount of memory to use to cache the contents of pg_commit_ts (see pgdata_contents_table). If this value is specified without units, it is taken as blocks, that is BLCKSZ bytes, typically 8kB. The default value is 0, which requests shared_buffers/512 up to 1024 blocks, but not fewer than 16 blocks. This parameter can only be set at server start.

(Description quoted from the official PostgreSQL documentation.)

How to apply a change

Set it in postgresql.conf (or with ALTER SYSTEM) and restart the server — this parameter cannot change without a restart.

Inspect the current value and source with SHOW commit_timestamp_buffers; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'commit_timestamp_buffers';.

Tuning guidance

This parameter is rarely a performance lever. Leave it at the default unless you have a specific, documented reason to change it, change it on one session or one role/database first, and confirm the effect with pg_settings and your own measurements before rolling it out cluster-wide.

Reference

PostgreSQL documentation — commit_timestamp_buffers.

Keep going

Related & next steps

Was this helpful?

← All configuration parameters