Re: BUG #17804: Assertion failed in pg_stat after fetching from pg_stat_database and switching cache->snapshot
Alexander Law <exclusion@gmail.com>
From: Alexander Lakhin <exclusion@gmail.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>,
pgsql-bugs@lists.postgresql.org
Date: 2023-04-27T10:00:00Z
Lists: pgsql-bugs
Attachments
- v1-01-fix-pgstat-sfc.patch (text/x-patch) patch v1
Hello, 24.02.2023 19:00, Alexander Lakhin wrote: > Hello Kyotaro-san, > 24.02.2023 10:08, Kyotaro Horiguchi wrote: >> Thanks for the report! We didn't consider the case that variable is >> changed in-transaction. >> >> >> What are your thoughts on this? > What if we implement assign_pgstat_fetch_consistency() and execute > pgstat_clear_snapshot() in it when the mode switch happens (to avoid > possible inconsistency between the GUC and the current pgstat state)? Please look at the attached patch, which implements that idea and also includes a simple test. The behavior change doesn't affect any of existing tests and seems natural to me, so I haven't added a note about it in the docs. Best regards, Alexander
Commits
-
Fix assertion failure when updating stats_fetch_consistency in a transaction
- ccd21e1cfa11 15.4 landed
- 605994651b6a 16.0 landed
-
Document values of stats_fetch_consistency in postgresql.conf.sample
- 4d47eff99cc0 16.0 landed