Re: BUG #18959: Name collisions of expression indexes during parallel Index creations on a pratitioned table.
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Dilip Kumar <dilipbalaut@gmail.com>
Cc: maximilian.chrzan@here.com, pgsql-bugs@lists.postgresql.org
Date: 2025-06-18T16:46:35Z
Lists: pgsql-bugs, pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Improve the names generated for indexes on expressions.
- 181b6185c79e master landed
-
Use SnapshotDirty when checking for conflicting index names.
- fdd82692230a 17.6 landed
- 75b8982eae78 15.14 landed
- 5861b1f343b5 18.0 landed
- 4b66cb18879e 13.22 landed
- 27af8b9be8c0 14.19 landed
- 1e24ea160350 16.10 landed
-
Change the names generated for child foreign key constraints.
- 3db61db48ef5 18.0 cited
Attachments
- wip-change-choice-of-cloned-index-names.patch (text/x-diff) patch
I wrote: > This seems very closely related to commit 3db61db48 [1], which fixed > a similar behavior for child foreign key constraints. Per that commit > message, it's a good idea for the child objects to have names related > to the parent objects, so we ought to change this behavior regardless > of any concurrent-failure considerations. I experimented with the attached, which borrows a couple of ideas from 3db61db48 to produce names like "parent_index_2" when cloning indexes. While it should help with the immediate problem, I'm not sure if this is acceptable, because there are a *lot* of ensuing changes in the regression tests, many more than 3db61db48 caused. (Note that I didn't bother to fix places where the tests rely on a generated name that has changed; the delta in the test outputs is merely meant to give an idea of how much churn there is. I didn't check non-core test suites, either.) Also, looking at the error message changes, I'm less sure that this is a UX improvement than I was about 3db61db48. Do people care which partition a uniqueness constraint failed in? In the current behavior, the index name will reflect that, but with this behavior, not so much. Anyway, maybe this is a good idea or maybe it isn't. Thoughts? regards, tom lane