Move wal_buffers_full from PgStat_PendingWalStats to WalUsage
Michael Paquier <michael@paquier.xyz>
Move wal_buffers_full from PgStat_PendingWalStats to WalUsage wal_buffers_full has been introduced in pg_stat_wal in 8d9a935965f, as some information providing metrics for the tuning of the GUC wal_buffers. WalUsage has been introduced before that in df3b181499. Moving this field is proving to be beneficial for several reasons: - This information can now be made available in more layers, providing more granularity than just pg_stat_wal, on a per-query basis: EXPLAIN, pgss and VACUUM/ANALYZE logs. - A patch is under discussion to provide statistics for WAL at backend level, and this move simplifies a bit the handling of pending statistics. The remaining data in PgStat_PendingWalStats now relates to write/sync counters and times, with equivalents present in pg_stat_io, that backend statistics are able to already track. So this should cut all the dependencies between PgStat_PendingWalStats and WAL stats at backend level. As of this change, wal_buffers_full only shows in pg_stat_wal. Author: Bertrand Drouvot Reviewed-by: Ilia Evdokimov Discussion: https://postgr.es/m/Z6SOha5YFFgvpwQY@ip-10-97-1-34.eu-west-3.compute.internal
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/transam/xlog.c | modified | +1 −1 |
| src/backend/executor/instrument.c | modified | +2 −0 |
| src/backend/utils/activity/pgstat_wal.c | modified | +1 −1 |
| src/include/executor/instrument.h | modified | +1 −0 |
| src/include/pgstat.h | modified | +0 −1 |
Discussion
- Move wal_buffers_full to WalUsage (and report it in pgss/explain) 8 messages · 2025-02-06 → 2025-02-17