Re: inherited primary key misbehavior
Amit Langote <langote_amit_f8@lab.ntt.co.jp>
From: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2019-01-24T01:34:17Z
Lists: pgsql-hackers
Attachments
- v2-0001-Detach-primary-key-constraint-when-detaching-part.patch (text/plain) patch v2-0001
On 2019/01/24 6:10, Alvaro Herrera wrote: > Hello > > On 2019-Jan-23, Amit Langote wrote: > >> It seems that ATExecDetachPartition misses to mark a child's primary key >> constraint entry (if any) as local (conislocal=true, coninhcount=0), which >> causes this: >> >> create table p (a int primary key) partition by list (a); >> create table p2 partition of p for values in (2); >> alter table p detach partition p2; >> alter table p2 drop constraint p2_pkey ; >> ERROR: cannot drop inherited constraint "p2_pkey" of relation "p2" > > Ugh. > > I suppose unique keys would have the same problem, so the check for > indisprimary is wrong. Fixed in the attached. We don't support inheriting EXCLUSION constraints yet, so no need to consider their indexes. Thanks, Amit
Commits
-
Detach constraints when partitions are detached
- ae366aa57762 12.0 landed
- 00376eaa2ec2 11.2 landed