postgresql/src/backend
Peter Geoghegan 43e409cea4 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)
2022-09-05 11:20:05 -07:00
..
access Backpatch nbtree page deletion hardening. 2022-09-05 11:20:05 -07:00
bootstrap Skip WAL for new relfilenodes, under wal_level=minimal. 2020-04-04 12:25:34 -07:00
catalog In extensions, don't replace objects not belonging to the extension. 2022-08-08 11:12:31 -04:00
commands Fix typo in comment. 2022-08-26 16:55:04 +09:00
executor Repair rare failure of MULTIEXPR_SUBLINK subplans in inherited updates. 2022-08-27 12:11:20 -04:00
foreign Update copyrights for 2020 2020-01-01 12:21:45 -05:00
jit Back-patch LLVM 14 API changes. 2022-03-16 11:41:13 +13:00
lib Fix lock assertions in dshash.c. 2022-07-11 15:48:54 +12:00
libpq Remove misguided SSL key file ownership check in libpq. 2022-05-26 14:14:05 -04:00
main Fix outdated --help message for postgres -f 2022-08-15 13:37:40 +09:00
nodes Add missing fields to _outConstraint() 2022-08-13 10:37:53 +02:00
optimizer Fix oversight in recent MULTIEXPR_SUBLINK fix. 2022-09-02 14:54:40 -04:00
parser Catch stack overflow when recursing in transformFromClauseItem(). 2022-08-13 15:21:28 -04:00
partitioning Avoid using ambiguous word "non-negative" in error messages. 2021-07-28 01:21:52 +09:00
po Translation updates 2022-08-08 12:39:52 +02:00
port Reject huge_pages=on if shared_memory_type=sysv. 2021-10-26 13:04:40 +13:00
postmaster Prevent long-term memory leakage in autovacuum launcher. 2022-08-31 16:23:20 -04:00
regex Defend against stack overrun in a few more places. 2022-08-24 13:01:40 -04:00
replication Add CHECK_FOR_INTERRUPTS while decoding changes. 2022-08-23 09:10:28 +05:30
rewrite Fix rewriter to set hasModifyingCTE correctly on rewritten queries. 2021-09-08 12:05:43 -04:00
snowball In the Snowball dictionary, don't try to stem excessively-long words. 2022-08-31 10:42:05 -04:00
statistics Partially undo commit 94da73281. 2022-08-05 15:57:46 -04:00
storage Add HINT for restartpoint race with KeepFileRestoredFromArchive(). 2022-08-05 08:31:01 -07:00
tcop Force immediate commit after CREATE DATABASE etc in extended protocol. 2022-07-26 13:07:03 -04:00
tsearch Defend against stack overrun in a few more places. 2022-08-24 13:01:40 -04:00
utils Fix some possibly latent bugs in slab.c 2022-09-01 19:23:08 +12:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
Makefile Update copyrights for 2020 2020-01-01 12:21:45 -05:00
nls.mk Translation updates 2020-09-14 13:14:53 +02:00