Re: Support for REINDEX CONCURRENTLY - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Support for REINDEX CONCURRENTLY
Date
Msg-id CAB7nPqRB=DTVocJynZNuktsoNKSOSDz1Oo8BJ+5NPANL=eYEAQ@mail.gmail.com
Whole thread Raw
In response to Re: Support for REINDEX CONCURRENTLY  (Andres Freund <andres@anarazel.de>)
Responses Re: Support for REINDEX CONCURRENTLY
List pgsql-hackers


On Mon, Jan 28, 2013 at 8:44 PM, Andres Freund <andres@anarazel.de> wrote:
> Another argument that would be enough for a rejection of this patch by a
> committer is the problem of invalid toast indexes that cannot be removed up
> cleanly by an operator. As long as there is not a clean solution for
> that...

I think that part is relatively easy to fix, I wouldn't worry too
much.
The more complex part is how to get tuptoaster.c to update the
concurrently created index. That's what I worry about. Its not going
through the normal executor paths but manually updates the toast
index - which means it won't update the indisready && !indisvalid
index...
I included in the patch some stuff to update the reltoastidxid of the parent relation of the toast index. Have a look at index.c:index_concurrent_swap. The particular case I had in mind was if there is a failure of the server during the concurrent reindex of a toast index. When server restarts, the toast relation will have an invalid index and this cannot be dropped by an operator via SQL.
--
Michael Paquier
http://michael.otacoo.com

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Support for REINDEX CONCURRENTLY
Next
From: Andres Freund
Date:
Subject: Re: Support for REINDEX CONCURRENTLY