WAL & checkpointsReload, no restartdefault 5 min
checkpoint_timeout
Sets the maximum time between automatic WAL checkpoints.
How you change it
Reload, no restart
Defaults and ranges on this page were read from pg_settings on live PostgreSQL 18.4. Treat older majors as needing their own check before you copy a value.
What this means
The maximum time between automatic checkpoints. Longer intervals mean fewer checkpoints, less full-page-write amplification, and smoother I/O, but a longer replay time after a crash.
When it matters
Raise from the short default on busy systems, in step with a larger max_wal_size.
| Default | 5 min |
|---|---|
| Range | 30 – 86400 |
| Type | integer |
| Change scope | Reload, no restart |
| Category | WAL & checkpoints |
Check the current value
SHOW checkpoint_timeout;Tradeoffs
- • Too short: frequent checkpoints amplify writes via full-page images.
- • Too long: crash recovery replays more WAL and takes longer.
- • Pair with checkpoint_completion_target to spread the flush over the interval.