On Mon, Mar 10, 2025 at 1:12 PM Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
> On 2025-Mar-09, Alexander Korotkov wrote:
>
> > After second thought it's not so hard to fix. The attached patch does
> > it by putting REINDEX commands related to the same table into a single
> > SQL statement. Possibly, that could be better than revert given we
> > need to handle compatibility. What do you think?
>
> Oh, this is an egg of Columbus solution, I like it. It seems to work as
> intended on a quick test. Please add some commentary to run_reindex_command.
>
> Maybe another, possibly better way to do this would be to use libpq
> pipeline mode, sending all the commands for a table in one pipeline
> instead of a single command. The advantage of this would be that
> server-side log entries for each command would be separate, and they
> wouldn't appear clumped together in pg_stat_activity and so on.
> However, this would require more invasive changes, so it might be better
> to leave that for a future project -- it's certainly a harder sell for
> such a change to be backpatched. So I'm +1 on your current patch for 17
> and master.
Thank you for your feedback! I also think that pipelining would be a
better options, but it's too invasive for backpatching. I've written
comments for gen_reindex_command() and run_reindex_command(). I'm
going to push this patch to master and 17 if no objections.
------
Regards,
Alexander Korotkov
Supabase