Have VACUUM warn on relfrozenxid "in the future".
authorPeter Geoghegan <pg@bowt.ie>
Tue, 5 Apr 2022 16:44:52 +0000 (09:44 -0700)
committerPeter Geoghegan <pg@bowt.ie>
Tue, 5 Apr 2022 16:44:52 +0000 (09:44 -0700)
commite83ebfe6d767dafcefe00bc5f11392a3d6976c1b
treee6fd1e66d062d014dfefe9d55fd35551a329115b
parent16915126746e2d8597a92197a346fea0756f8e3e
Have VACUUM warn on relfrozenxid "in the future".

Commits 74cf7d46 and a61daa14 fixed pg_upgrade bugs involving oversights
in how relfrozenxid or relminmxid are carried forward or initialized.
Corruption caused by bugs of this nature was ameliorated by commit
78db307bb2, which taught VACUUM to always overwrite existing invalid
relfrozenxid or relminmxid values that are apparently "in the future".

Extend that work now by showing a warning in the event of overwriting
either relfrozenxid or relminmxid due to an existing value that is "in
the future".  There is probably a decent chance that the sanity checks
added by commit 699bf7d05c will raise an error before VACUUM reaches
this point, but we shouldn't rely on that.

Author: Peter Geoghegan <pg@bowt.ie>
Reviewed-By: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/CAH2-WzmRZEzeGvLv8yDW0AbFmSvJjTziORqjVUrf74mL4GL0Ww@mail.gmail.com
src/backend/commands/vacuum.c