Re: BUG #18016: REINDEX TABLE failure

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Gurjeet Singh <gurjeet(at)singh(dot)im>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Michael Paquier <michael(at)paquier(dot)xyz>, richard(dot)vesely(at)softea(dot)sk, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #18016: REINDEX TABLE failure
Date: 2023-07-26 20:16:51
Message-ID: 20230726201651.GC3310393@nathanxps13
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On Mon, Jul 10, 2023 at 09:35:05AM -0700, Gurjeet Singh wrote:
> The code block movement involved slightly more thought and care than I
> had previously imagined. As explained in comments in the patch, the
> enumeration and suppression of indexes on the main table must happen
> before any CommandCounterIncrement() call, hence the
> reindex-the-toast-table-if-any code had to be placed after that
> enumeration.

Do we need to add another CCI after reindexing the TOAST table? It looks
like we presently do so between reindexing each relation, including the
TOAST table.

+ * This should be done after the suppression of the use of indexes (above),
+ * because the recursive call to reindex_relation() below will invoke
+ * CommandCounterIncrement(), which may prevent enumeration of the indexes
+ * on the table.

I'm not following this. We've already obtained the list of index OIDs
before this point. Does this create problems when we try to open and lock
the relations? And if so, how?

--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Gurjeet Singh 2023-07-27 01:42:14 Fwd: BUG #18016: REINDEX TABLE failure
Previous Message Christophe Pettus 2023-07-26 18:12:42 Re: Documentation bug at: current/sql-vacuum.html, Notes

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2023-07-26 20:22:30 Re: Row pattern recognition
Previous Message Matthias van de Meent 2023-07-26 19:53:35 Re: incremental-checkopints