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/[email protected], [email protected] Author: Bertrand Drouvot Backpatch-through: 9.6 Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/74cf7d46a91d601e0f8d957a7edbaeeb7df83efc Modified Files -------------- doc/src/sgml/ref/pg_resetwal.sgml | 20 +++++++++++ src/bin/pg_resetwal/pg_resetwal.c | 72 ++++++++++++++++++++++----------------- src/bin/pg_upgrade/controldata.c | 17 ++++++++- src/bin/pg_upgrade/pg_upgrade.c | 7 ++++ src/bin/pg_upgrade/pg_upgrade.h | 1 + 5 files changed, 85 insertions(+), 32 deletions(-)
