Re: Corrupt index stopping autovacuum system wide

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Aaron Pelz <aaronepelz(at)gmail(dot)com>
Cc: pgsql-general General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Corrupt index stopping autovacuum system wide
Date: 2019-07-17 17:27:10
Message-ID: CAH2-Wzkgf76FjnGQk=DAmjhk1Pok-uybb_4Lk64XyGGVeue64g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Jul 17, 2019 at 9:21 AM Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
> It's possible that amcheck would have given you an accurate diagnosis
> of the problem -- especially if you used bt_index_parent_check():
>
> https://www.postgresql.org/docs/current/amcheck.html

BTW, be sure to use the 'heapallindexed' option with
bt_index_parent_check() to detect missing downlinks, which is exactly
the problem that VACUUM complained about. Hopefully this probably will
be limited to the single index that you've already REINDEXed. In
theory the same problem could be hiding in other indexes, though I
don't consider that particularly likely.

Note that bt_index_parent_check() requires a lock on tables that
effectively blocks writes, but not reads, so verification may require
planning or coordination. bt_index_check() doesn't have any of these
problems, but also won't detect missing downlinks specifically.

--
Peter Geoghegan

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2019-07-17 17:27:23 Re: Corrupt index stopping autovacuum system wide
Previous Message Peter Geoghegan 2019-07-17 17:18:19 Re: Corrupt index stopping autovacuum system wide