Re: CREATE INDEX CONCURRENTLY on partitioned index

From: Alexander Pyhalov <a(dot)pyhalov(at)postgrespro(dot)ru>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: Ilya Gladyshev <ilya(dot)v(dot)gladyshev(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, 李杰(慎追) <adger(dot)lj(at)alibaba-inc(dot)com>, 曾文旌(义从) <wenjing(dot)zwj(at)alibaba-inc(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Subject: Re: CREATE INDEX CONCURRENTLY on partitioned index
Date: 2023-03-27 10:28:24
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Justin Pryzby писал 2023-03-26 17:51:
> On Sun, Dec 04, 2022 at 01:09:35PM -0600, Justin Pryzby wrote:
>> This currently handles partitions with a loop around the whole CIC
>> implementation, which means that things like WaitForLockers() happen
>> once for each index, the same as REINDEX CONCURRENTLY on a partitioned
>> table. Contrast that with ReindexRelationConcurrently(), which
>> handles
>> all the indexes on a table in one pass by looping around indexes
>> within
>> each phase.
> Rebased over the progress reporting fix (27f5c712b).
> I added a list of (intermediate) partitioned tables, rather than
> looping
> over the list of inheritors again, to save calling rel_get_relkind().
> I think this patch is done.


Overall looks good to me. However, I think that using 'partitioned' as
list of partitioned index oids in DefineIndex() is a bit misleading -
we've just used it as boolean, specifying if we are dealing with a
partitioned relation.

Best regards,
Alexander Pyhalov,
Postgres Professional

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Korotkov 2023-03-27 10:49:22 Re: POC: Lock updated tuples in tuple_update() and tuple_delete()
Previous Message Michael Paquier 2023-03-27 10:08:51 Re: Generate pg_stat_get_xact*() functions with Macros