Configuration parameter

max_wal_size — PostgreSQL Configuration Parameter

Category Checkpoints Default 1GB Unit memory (kB/MB/GB) Change scope Reload (no restart)

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.

Reference

PostgreSQL documentation — Checkpoints configuration.

Was this helpful?

← All configuration parameters