Thread: pgsql: Backpatch nbtree page deletion hardening.
Backpatch nbtree page deletion hardening. Postgres 14 commit 5b861baa taught nbtree VACUUM to tolerate buggy opclasses. VACUUM's inability to locate a to-be-deleted page's downlink in the parent page was logged instead of throwing an error. VACUUM could just press on with vacuuming the index, and vacuuming the table as a whole. There are now anecdotal reports of this error causing problems that were much more disruptive than the underlying index corruption ever could be. Anything that makes VACUUM unable to make forward progress against one table/index ultimately risks making the system enter xidStopLimit mode. There is no good reason to take any chances here, so backpatch the hardening commit. Author: Peter Geoghegan <pg@bowt.ie> Discussion: https://postgr.es/m/CAH2-Wzm9HR6Pow=t-iQa57zT8qmX6_M4h14F-pTtb=xFDW5FBA@mail.gmail.com Backpatch: 10-13 (all supported versions that lacked the hardening) Branch ------ REL_12_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/7adc34832f24a247197899324e99ad042123ab09 Modified Files -------------- src/backend/access/nbtree/nbtpage.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-)