pgconfigurator
pgconfigurator

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.

Related parameters