PostgreSQL

Checkpoint spikes cause I/O contention and query latency

warning
performanceUpdated Feb 26, 2026
Technologies:
How to detect:

Frequent checkpoints (checkpoint_warning < 30s interval) or low checkpoint_completion_target cause I/O spikes. Checkpoints flush all dirty buffers, creating latency spikes visible in query durations.

Recommended action:

Set checkpoint_completion_target=0.9 to spread checkpoint I/O over 90% of checkpoint interval. Monitor checkpoint frequency via pg_stat_bgwriter. Enable log_checkpoints to detect frequent checkpoints. Tune bgwriter to spread writes and reduce checkpoint burden.