wal_buffers
Requires a restarttuned by pgconfiguratormemory (kB/MB)
Shared memory buffering WAL records before they're written to disk.
What pgconfigurator would set
32 GB · 8 vCPU · NVMe · OLTP
Computing…
Tune for your exact server → /tunecomputed in your browser · nothing uploaded
What it does
wal_buffers is the amount of shared memory used to stage write-ahead-log records before they are flushed to the WAL files. Bigger buffers reduce how often a transaction has to wait for WAL to be written, which helps write-heavy and highly-concurrent workloads.
How to tune it
The default (-1) auto-sizes it to 1/32 of shared_buffers, capped at 16 MB, which is fine for most systems. Very write-intensive workloads can benefit from 16–64 MB. It's allocated at startup, so changes need a restart.
FAQ
- Is 16 MB enough for wal_buffers?
- For the large majority of workloads, yes — that's the auto-sized cap. Only very high-throughput, highly-concurrent write workloads tend to gain from raising it further.