Re: Support for REINDEX CONCURRENTLY
От | Michael Paquier |
---|---|
Тема | Re: Support for REINDEX CONCURRENTLY |
Дата | |
Msg-id | CAB7nPqRB=DTVocJynZNuktsoNKSOSDz1Oo8BJ+5NPANL=eYEAQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Support for REINDEX CONCURRENTLY (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: Support for REINDEX CONCURRENTLY
|
Список | 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 upI think that part is relatively easy to fix, I wouldn't worry too
> cleanly by an operator. As long as there is not a clean solution for
> that...
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 по дате отправления: