Re: Remove wal_[sync|write][_time] from pg_stat_wal and track_wal_io_timing
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Michael Paquier <michael@paquier.xyz>
Cc: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2025-02-24T09:41:36Z
Lists: pgsql-hackers
Hi, On 2025-02-20 14:37:18 +0900, Michael Paquier wrote: > a051e71e28a added this information into pg_stat_io (with more details and > granularity), so there is no need to keep it in pg_stat_wal. This also > allows to remove PendingWalStats and simplifies up coming commits related > to per backend WAL statistics. Once done, track_wal_io_timing becomes useless > so it is also removed. > > In passing remove the pgstat_prepare_io_time() parameter now that > track_wal_io_timing is gone. I don't think this is a good idea - there was a good reason for track_wal_io_timing to exist, namely that it happens while holding one of the two most contended locks in postgres. On many systems it'll be an ok constant overhead to enable track_io_timing, but enabling track_wal_io_timing will cause scalability issues. Now you made it impossible to separate those two situations, forcing disabling of all IO timing. Greetings, Andres Freund
Commits
-
Re-add GUC track_wal_io_timing
- 6c349d83b607 18.0 landed
-
Remove read/sync fields from pg_stat_wal and GUC track_wal_io_timing
- 2421e9a51d20 18.0 landed
-
doc: Fix typo in section "WAL configuration"
- f11674f8dfe8 18.0 landed
-
doc: Add details about object "wal" in pg_stat_io
- 4538bd3f1dde 18.0 landed
-
doc: Recommend pg_stat_io rather than pg_stat_wal in WAL configuration
- 2f70871c2bc1 18.0 landed