0.9
is recommended for most workloads. This spreads the checkpoint I/O over 90% of the checkpoint interval. For systems with consistent I/O capacity, 0.5-0.8
can provide a good balance. Avoid very low values (below 0.3
) as they can cause I/O spikes.256KB
(32 pages of 8KB). For systems with battery-backed write cache or reliable storage, you can increase to 512KB
or 1MB
for better performance. For systems without write protection, consider keeping the default or lower values for better durability.5min
is reasonable for most systems. Increase to 15-30min
for write-intensive workloads to reduce checkpoint frequency. Decrease to 1-2min
for systems requiring faster recovery times. Balance between recovery time objectives and checkpoint overhead.30s
. Set to 60s
for most production systems. If you see frequent warnings, consider increasing max_wal_size or investigating the source of high write activity. Set to 0
to disable warnings if they become too noisy.1GB
is often too small for production. Set to 4-8GB
for moderate write workloads, 16-32GB
for write-intensive systems. Calculate based on your checkpoint_timeout and write rate: max_wal_size = (write_rate_per_second * checkpoint_timeout) * 2
.80MB
. Set to 10-25% of max_wal_size. For example, with max_wal_size = 8GB
, set min_wal_size = 1-2GB
. This provides a good balance between space efficiency and readiness for write bursts.Start your journey toward a healthier PostgreSQL with pghealth.
You can explore all features immediately with a free trial β no installation required.
π Start Free Trial