On 2025-Dec-09, Mihail Nikalayeu wrote: > Hello! > > After some investigation I ended up with a much simpler fix. > It is self-explanatory in code and a commit message.
Yeah, that makes sense. It's what I was trying to say in https://postgr.es/m/[email protected] Pushed your patch, thanks. I still wonder if it's possible to break things by doing something like CREATE TABLE pt (a int) PARTITION BY LISt (a); CREATE TABLE p1 PARTITION OF pt FOR VALUES IN (1); CREATE TABLE p2 PARTITION OF pt FOR VALUES IN (2); CREATE UNIQUE INDEX pti ON ONLY pt (a); CREATE UNIQUE INDEX p1i ON p1 (a); CREATE UNIQUE INDEX p2i ON p2 (a); ALTER INDEX pti ATTACH PARTITION p1i; and then do the INSERT INTO pt VALUES (1) ON CONFLICT (a) DO NOTHING; dance concurrently with ALTER INDEX pti ATTACH PARTITION p2i; This would be a much smaller problem than the already fixed ones though, I think. Thanks! -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "Learn about compilers. Then everything looks like either a compiler or a database, and now you have two problems but one of them is fun." https://twitter.com/thingskatedid/status/1456027786158776329
