On Tue, Jun 28, 2022 at 05:32:26PM -0700, Peter Geoghegan wrote:
> The main enhancement to VACUUM for Postgres 15 was item 1, which
> taught VACUUM to dynamically track the oldest remaining XID (and the
> oldest remaining MXID) that will remain in the table at the end of the
> same VACUUM operation. These final/oldest XID/MXID values are what we
> now use to set relfrozenxid and relminmxid in pg_class. Previously we
> just set relfrozenxid/relminmxid to whatever XID/MXID value was used
> to determine which XIDs/MXIDs needed to be frozen. These values often
> indicated more about VACUUM implementation details (like the
> vacuum_freeze_min_age GUc's value) than the actual true contents of the
> table at the end of the most recent VACUUM.
>
> It might be worth explaining the shift directly in the release notes.
> The new approach is simpler and makes a lot more sense -- why should
> the relfrozenxid be closely tied to freezing? We don't necessarily
I don't think this is an appropriate detail for the release notes.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
Indecision is a decision. Inaction is an action. Mark Batterson