Soft upper limit of WAL between automatic checkpoints.
At a glance
| Property | Value |
|---|---|
| Parameter | max_wal_size |
| Category | Checkpoints |
| Default | 1GB |
| Value type | memory (kB/MB/GB) |
| Change scope | Reload (no restart) |
What it does
A soft limit on how much WAL accumulates before a checkpoint is triggered. Larger values mean less frequent checkpoints and better write throughput, at the cost of longer crash recovery and more disk.
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 max_wal_size; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'max_wal_size';.
Tuning guidance
Raise substantially (e.g. 4GB-16GB+) on write-heavy systems to avoid frequent checkpoints — frequent “checkpoints are occurring too frequently” warnings in the log are the signal. Balance against recovery time and pg_wal disk space.