On Fri, Jun 14, 2019 at 04:58:47PM -0400, Tom Lane wrote:
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0995cefa74510ee0e38d1bf095b2eef2c1ea37c4
> +<!--
> +Author: Peter Geoghegan <pg@bowt.ie>
> +Branch: master [9b42e7137] 2019-05-13 10:27:59 -0700
> +Branch: REL_11_STABLE [bf78f50ba] 2019-05-13 10:27:57 -0700
> +-->
> + <para>
> + Avoid corruption of a btree index in the unlikely case that a failure
> + occurs during key truncation during a page split (Peter Geoghegan)
> + </para>
To me, this text implies a cautious DBA should amcheck every index. Reading
the thread[1], I no longer think that. It's enough to monitor that VACUUM
doesn't start failing persistently on any index. I suggest replacing this
release note text with something like the following:
Avoid writing erroneous btree index data that does not change query results
but causes VACUUM to abort with "failed to re-find parent key". Affected
indexes are rare; REINDEX fixes them.
(I removed "key truncation during a page split" as being too technical for
release notes.)
[1] https://postgr.es/m/flat/CAH2-WzkcWT_-NH7EeL=Az4efg0KCV+wArygW8zKB=+HoP=VWMw@mail.gmail.com