Configuration parameter

checkpoint_completion_target — PostgreSQL Configuration Parameter

Category Checkpoints Default 0.9 Unit boolean / enum / numeric Change scope Reload (no restart)

Fraction of the interval over which to spread checkpoint writes.

At a glance

Property Value
Parameter checkpoint_completion_target
Category Checkpoints
Default 0.9
Value type boolean / enum / numeric
Change scope Reload (no restart)

What it does

Spreads checkpoint write I/O over this fraction of the checkpoint interval, smoothing the I/O spike. Default raised to 0.9 in PG14.

How to apply a change

Takes effect on configuration reload (sighup context). Run SELECT pg_reload_conf(); or send SIGHUP — no restart needed.

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

Tuning guidance

Leave at 0.9. Together with a larger checkpoint_timeout this avoids sharp I/O peaks that stall queries.

Reference

PostgreSQL documentation — Checkpoints configuration.

Was this helpful?

← All configuration parameters