Reset btpo_cycleid in nbtree VACUUM's REDO routine. Reset btpo_cycleid to 0 in btree_xlog_vacuum for consistency with _bt_delitems_vacuum (the corresponding original execution code). This makes things neater.
There might be some performance benefit to being consistent like this. When btvacuumpage doesn't call _bt_delitems_vacuum, it can still proactively reset btpo_cycleid to 0 via a separate hint-like update mechanism (it does so whenever it sees that it isn't already set to 0). And so it's possible that being consistent about resetting btpo_cycleid like this will save work later on, after standby promotion: subsequent VACUUMs won't need to clear btpo_cycleid using the hint-like update mechanism as often as they otherwise would. Author: Peter Geoghegan <p...@bowt.ie> Reviewed-By: Andrey Borodin <x4...@yandex-team.ru> Discussion: https://postgr.es/m/CAH2-Wz=+ldfxn9nzyesco8ifcykt6+n-vlyygysehgmz+oy...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/da9517fb3a0979f8d75823199f7a231e0269963b Modified Files -------------- src/backend/access/nbtree/nbtxlog.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)