Re: pgsql: reindexdb: Add the index-level REINDEX with multiple jobs

From: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
To: Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Alexander Korotkov <akorotkov(at)postgresql(dot)org>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Maxim Orlov <orlovmg(at)gmail(dot)com>, Svetlana Derevyanko <s(dot)derevyanko(at)postgrespro(dot)ru>
Subject: Re: pgsql: reindexdb: Add the index-level REINDEX with multiple jobs
Date: 2025-03-09 02:53:29
Message-ID: CAPpHfds_hJh1vYMAsATDNNDFXygyosD0n7M=HXwCiJTphvWCCg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Sat, Mar 8, 2025 at 12:49 PM Alexander Korotkov <aekorotkov(at)gmail(dot)com> wrote:
> On Fri, Mar 7, 2025 at 8:20 PM Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
> >
> > On 2024-Mar-25, Alexander Korotkov wrote:
> >
> > > reindexdb: Add the index-level REINDEX with multiple jobs
> > >
> > > Straight-forward index-level REINDEX is not supported with multiple jobs as
> > > we cannot control the concurrent processing of multiple indexes depending on
> > > the same relation. Instead, we dedicate the whole table to certain reindex
> > > job. Thus, if indexes in the lists belong to different tables, that gives us
> > > a fair level of parallelism.
> >
> > I tested this, because of a refactoring suggestion [1] and I find that
> > it's rather completely broken.
>
> The code was written with assumption that running
> run_reindex_command() with async == true can schedule a number of
> queries for a connection. But actually that's not true and everything
> is broken.

The draft patch for revert is attached. Could you, please, check.

------
Regards,
Alexander Korotkov
Supabase

Attachment Content-Type Size
v1-0001-revert-reindexdb-Add-the-index-level-REINDEX-with.patch application/octet-stream 9.7 KB

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2025-03-09 17:11:33 pgsql: Don't try to parallelize array_agg() on an anonymous record type
Previous Message Nathan Bossart 2025-03-08 20:29:30 pgsql: doc: Adjust note about pg_upgrade's --jobs option.

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2025-03-09 03:29:49 Re: Add an option to skip loading missing publication to avoid logical replication failure
Previous Message David G. Johnston 2025-03-09 02:31:57 Re: Printing window function OVER clauses in EXPLAIN