Re: 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.vesely@softea.sk, pgsql-bugs@lists.postgresql.org
Date: 2023-07-26T20:16:51Z
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
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Reindex toast before its main relation in reindex_relation()
- f2bf8fb04886 17.0 landed
-
Fix comment in index.c
- bd5760df38c0 17.0 landed
-
Clean up a bug in sql/json items commit 66ea94e8e6
- 06a66d87dbc7 17.0 cited
-
Create a "relation mapping" infrastructure to support changing the relfilenodes
- b9b8831ad60f 9.0.0 cited