Re: Fwd: BUG #18016: REINDEX TABLE failure

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Gurjeet Singh <gurjeet@singh.im>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Michael Paquier <michael@paquier.xyz>, Richard Veselý <richard.vesely@softea.sk>, pgsql-bugs@lists.postgresql.org
Date: 2023-07-27T23:10:59Z
Lists: pgsql-bugs, pgsql-hackers
On Wed, Jul 26, 2023 at 06:42:14PM -0700, Gurjeet Singh wrote:
> On Wed, Jul 26, 2023 at 10:50 AM Nathan Bossart
> <nathandbossart@gmail.com> wrote:
>> 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.
> 
> Yes, we do need to do a CCI after reindex the relation's toast table.
> But note that it is done by the recursive call to reindex_relation(),
> right after it calls reindex_index().

*facepalm*

Ah, I see it now.

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



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Reindex toast before its main relation in reindex_relation()

  2. Fix comment in index.c

  3. Clean up a bug in sql/json items commit 66ea94e8e6

  4. Create a "relation mapping" infrastructure to support changing the relfilenodes