Re: CREATE INDEX CONCURRENTLY on partitioned index
От | Ilya Gladyshev |
---|---|
Тема | Re: CREATE INDEX CONCURRENTLY on partitioned index |
Дата | |
Msg-id | 5bafee07d0e1b3ce5359d1656c90b4836d7cb6a1.camel@gmail.com обсуждение исходный текст |
Ответ на | Re: CREATE INDEX CONCURRENTLY on partitioned index (Justin Pryzby <pryzby@telsasoft.com>) |
Ответы |
Re: CREATE INDEX CONCURRENTLY on partitioned index
|
Список | pgsql-hackers |
Hi, Thank you Justin and Alexander for working on this, I have reviewed and tested the latest patch, it works well, the problems mentioned previously are all fixed. I like the idea of sharing code of reindex and index, but I have noticed some peculiarities as a user. The reporting is somewhat confusing as it switches to reporting for reindex concurrently while building child indexes, this should be fixed with the simple patch I have attached. Another thing that I have noticed is that REINDEX, which is used under the hood, creates new indexes with suffix _ccnew, and if the index building fails, the indexes that could not be build will have the name with _ccnew suffix. This can actually be seen in your test: ERROR: could not create unique index "idxpart2_a_idx2_ccnew" I find it quite confusing and I don't think that this the expected behavior (if it is, I think it should be documented, like it is for REINDEX). As an example of problems that it might entail, DROP INDEX will not drop all the invalid indexes in the inheritance tree, because it will leave _ccnew indexes in place, which is ok for reindex concurrently, but that's not how C-I-C works now. I think that fixing this problem requires some heavy code rewrite and I'm not quite sure how to go about it, if you have any ideas, I will be happy to try them out. Thanks, Ilya
Вложения
В списке pgsql-hackers по дате отправления: