pg_resetxlog: add option to set oldest xid & use by pg_upgrade

Bruce Momjian <bruce@momjian.us>

Commit: c4ba87f527f07945ef4ad2b1b45e0afe81124b55
Author: Bruce Momjian <bruce@momjian.us>
Date: 2021-07-27T02:38:14Z
Releases: 11.13
pg_resetxlog:  add option to set oldest xid & use by pg_upgrade

Add pg_resetxlog -u option to set the oldest xid in pg_control.
Previously -x set this value be -2 billion less than the -x value.
However, this causes the server to immediately scan all relation's
relfrozenxid so it can advance pg_control's oldest xid to be inside the
autovacuum_freeze_max_age range, which is inefficient and might disrupt
diagnostic recovery.  pg_upgrade will use this option to better create
the new cluster to match the old cluster.

Reported-by: Jason Harvey, Floris Van Nee

Discussion: https://postgr.es/m/20190615183759.GB239428@rfd.leadboat.com, 87da83168c644fd9aae38f546cc70295@opammb0562.comp.optiver.com

Author: Bertrand Drouvot

Backpatch-through: 9.6

Files

Documentation touched