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 605994651b
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
This commit is contained in:
parent
402388946f
commit
235c09efbb
|
@ -943,6 +943,9 @@ pgstat_snapshot_fixed(PgStat_Kind kind)
|
|||
Assert(pgstat_is_kind_valid(kind));
|
||||
Assert(pgstat_get_kind_info(kind)->fixed_amount);
|
||||
|
||||
if (force_stats_snapshot_clear)
|
||||
pgstat_clear_snapshot();
|
||||
|
||||
if (pgstat_fetch_consistency == PGSTAT_FETCH_CONSISTENCY_SNAPSHOT)
|
||||
pgstat_build_snapshot();
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue