Re: REINDEX CONCURRENTLY 2.0 - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: REINDEX CONCURRENTLY 2.0
Date
Msg-id 20190411132704.GC30766@paquier.xyz
Whole thread Raw
In response to Re: REINDEX CONCURRENTLY 2.0  (ilmari@ilmari.org (Dagfinn Ilmari Mannsåker))
Responses Re: REINDEX CONCURRENTLY 2.0
List pgsql-hackers
On Thu, Apr 11, 2019 at 11:21:29AM +0100, Dagfinn Ilmari Mannsåker wrote:
> I noticed that the docs for how to recover from a failed CREATE INDEX
> CONCURRENTLY say that «REINDEX does not support concurrent builds»,
> which is no longer true.

Good catch.  I'll apply that in a couple of hours.

> I was going to just remove the caveat, but then I discovered that
> REINDEX CONCURRENTLY doesn't work on INVALID indexes (why?).

This is a wanted choice.  The index built in parallel of the existing
one during a concurrent reindex is marked invalid during most of the
operation.  Hence, if the reindex is interrupted or fails, you finish
with potentially twice the number of original indexes, half being
invalid and the other half being the ones in use.  If the user decides
to rinse and repeat the concurrent reindex, and if we were to also
select invalid indexes for the operation, then you would finish by
potentially doing twice the amount of work when working on a relation,
half of it for nothing.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Andreas Karlsson
Date:
Subject: Re: Zedstore - compressed in-core columnar storage
Next
From: Robert Haas
Date:
Subject: Re: finding changed blocks using WAL scanning