Re: BUG #15587: Partitions with ALTER TABLE ADD CONSTRAINT

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: Tom Lane <tgl@sss.pgh.pa.us>, Jesper Pedersen <jesper.pedersen@redhat.com>, pgsql-bugs@lists.postgresql.org
Date: 2019-01-22T08:00:19Z
Lists: pgsql-bugs
Hi,

On 2019/01/22 1:29, Alvaro Herrera wrote:
> On 2019-Jan-21, Amit Langote wrote:
>> With this,
>> ALTER TABLE ADD FOREIGN KEY's inheritance recursion path now looks
>> completely different from ALTER TABLE ADD CHECK's, but that's fine.
>> Actually, if we had the same "clone" approach for check constraints, which
>> both checks if a child already has the constraint being cloned and creates
>> one if not, we could do away with errors like the following:
>>
>> create table p (a int, constraint check_a check (a > 0)) partition by list
>> create table p1 (a int);
>> alter table p attach partition p1 for values in (1);
>> ERROR:  child table is missing constraint "check_a"
>>
>> But of course that would be a different feature.
> 
> Heh, I wasn't aware that this failed in this silly way.  But yeah,
> that's a different feature and we would certainly not backpatch a fix
> for it.

Are you be willing to try to fix that in HEAD if someone sends a patch? :)

Thanks,
Amit



Commits

  1. Fix creation of duplicate foreign keys on partitions