Re: BUG #18500: Detaching a partition with an index manually attached to the parent's index triggers Assert
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Tender Wang <tndrwang@gmail.com>, exclusion@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2024-06-29T00:15:09Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix ALTER TABLE DETACH for inconsistent indexes
- d0054432d480 12.20 landed
- 83917791385a 18.0 landed
- 66aaa7a71841 14.13 landed
- 4ae09c59d6f5 15.8 landed
- 30ca4e1ab1ff 17.0 landed
- 05748256939b 13.16 landed
- 00a40e33c0a4 16.4 landed
On Fri, Jun 28, 2024 at 01:27:17PM +0200, Alvaro Herrera wrote: > I guess you could also fix this by adding a PK constraint to the parent > table, so that the situation is consistent in the other direction. Yes, I've also considered this option when thinking about this thread, but forcing a constraint creation up to the parent felt non-intuitive to me as we force creation of catalog entries on the children based on the state of the parent for basically everything else. So introducing a new path where we would do the reverse is a recipe for more complex code in tablecmds.c, which I'd rather avoid. > Here's a proposed patch for master only. It turns all three situations > being reported into ereport(ERROR); in one case I have an XXX comment, > because we have an alternative when attaching a partition that already > has a PK to a partitioned table that has a non-PK index: just create a > separate index in the partition. But that would cause slowness, which > is probably undesirable. I'm inclined to just remove the XXX comment, > but if anyone has other thoughts, they are welcome. An error sounds saner here in the long term. Tests for all of the code paths involved, perhaps? ;) -- Michael