WAL Generation Trends
The WAL Trends tab tracks the evolution of Write-Ahead Log generation volume over time. WAL trends are essential for understanding write workload intensity and planning disk and replication capacity.
{screenshot: trends-wal-tab}
Metrics Displayed
WAL Generation Volume
| Metric | Description |
|---|---|
| WAL Generated (MB/hour) | Volume of WAL produced per hour |
| WAL Generated (GB/day) | Daily WAL volume |
| WAL Records/sec | Number of WAL records written per second |
{screenshot: trends-wal-volume-chart}
Checkpoint Activity
| Metric | Description |
|---|---|
| Checkpoints/hour | Total checkpoints (timed + requested) per hour |
| Checkpoint Write Time (ms) | Average checkpoint write duration |
| Buffers Written at Checkpoint | Pages flushed to disk per checkpoint |
{screenshot: trends-checkpoint-chart}
Why Track WAL Volume?
Disk Planning
WAL files accumulate on the PostgreSQL server until they are recycled or archived. If WAL generation exceeds your max_wal_size setting or disk capacity, PostgreSQL may slow down or fail.
Use the WAL Generated (GB/day) trend to:
- Size your WAL storage volume appropriately
- Configure WAL archiving storage (if using PITR)
- Set
max_wal_sizeat an appropriate level
Replication Planning
If your PostgreSQL instance has streaming replicas, WAL must be shipped to each standby. High WAL generation increases:
- Network bandwidth requirements between primary and replicas
- Risk of replication lag under network constraints
Identifying Write-Heavy Periods
WAL generation trends reveal workload patterns:
- Regular spikes → Scheduled batch jobs or ETL processes
- Gradual increase → Organic write workload growth
- Sudden spike → Unexpected bulk operation, runaway process or application bug
Correlating WAL with Other Metrics
For any WAL spike identified in the Trends page:
- Note the timestamp of the spike
- Open the AWR Viewer and generate a report covering that period
- Check the WAL Activity section and Top SQL by I/O to identify the source