Fix stats_fetch_consistency with stats for fixed-numbered objects
authorMichael Paquier
Thu, 1 Feb 2024 08:12:50 +0000 (17:12 +0900)
committerMichael Paquier
Thu, 1 Feb 2024 08:12:50 +0000 (17:12 +0900)
commit235c09efbb306d6263e904e484abdf44866beb5e
tree01a1599fee9611d210a2b07208edccbc65bfbce3
parent402388946fb3ac54f0fd5944d7e177ef7737eab2
Fix stats_fetch_consistency with stats for fixed-numbered objects

This impacts the statistics retrieved in transactions for the following
views when updating the value of stats_fetch_consistency, leading to
behaviors contrary to what is documented since 605994651b6a as an update
of this parameter should discard all statistics snapshot data:
- pg_stat_archiver
- pg_stat_bgwriter
- pg_stat_checkpointer
- pg_stat_io
- pg_stat_slru
- pg_stat_wal

For example, updating stats_fetch_consistency from "snapshot" to "cache"
in a transaction did not re-fetch any fresh data, using data cached from
the time when "snapshot" was in use.

Author: Shinya Kato
Discussion: https://postgr.es/m/d77fc5190d4dbe1738d77231488e768b@oss.nttdata.com
Backpatch-through: 15
src/backend/utils/activity/pgstat.c