Thread: pgsql: Change XID and mxact limits to warn at 40M and stop at 3M.

pgsql: Change XID and mxact limits to warn at 40M and stop at 3M.

From
Noah Misch
Date:
Change XID and mxact limits to warn at 40M and stop at 3M.

We have edge-case bugs when assigning values in the last few dozen pages
before the wrap limit.  We may introduce similar bugs in the future.  At
default BLCKSZ, this makes such bugs unreachable outside of single-user
mode.  Also, when VACUUM began to consume mxacts, multiStopLimit did not
change to compensate.

pg_upgrade may fail on a cluster that was already printing "must be
vacuumed" warnings.  Follow the warning's instructions to clear the
warning, then run pg_upgrade again.  One can still, peacefully consume
98% of XIDs or mxacts, so DBAs need not change routine VACUUM settings.

Discussion: https://postgr.es/m/20200621083513.GA3074645@rfd.leadboat.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/cd5e82256de5895595cdd99ecb03aea15b346f71

Modified Files
--------------
doc/src/sgml/maintenance.sgml          |  8 ++++----
src/backend/access/transam/multixact.c | 24 ++++++++++--------------
src/backend/access/transam/varsup.c    | 27 +++++++++++++++------------
3 files changed, 29 insertions(+), 30 deletions(-)