Thread: WIP: ALTER TABLE ... ALTER CONSTRAINT ... SET DEFERRABLE on UNIQUE or PK
Hi all Attached is a patch to implement ALTER TABLE ... ALTER CONSTRAINT ... SET DEFERRABLE on UNIQUE or PRIMARY KEY constraints. Currently only FOREIGN KEY constraints are supported. Others are rejected with: constraint \"%s\" of relation \"%s\" is not a foreign key constraint The patch also adds some regression tests for DEFERRABLE constraints. The ALTER doesn't take effect in the session it's run in, which makes me suspect I need to do additional cache invalidations - maybe the index backing the constraint? Anyway, posted here as-is because I'm out of time for now and it might be useful for someone who's looking for info on this. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Attachment
Re: WIP: ALTER TABLE ... ALTER CONSTRAINT ... SET DEFERRABLE on UNIQUE or PK
From
Dean Rasheed
Date:
On 26 June 2015 at 07:20, Craig Ringer <craig@2ndquadrant.com> wrote: > Hi all > > Attached is a patch to implement ALTER TABLE ... ALTER CONSTRAINT ... > SET DEFERRABLE on UNIQUE or PRIMARY KEY constraints. > > Currently only FOREIGN KEY constraints are supported. Others are rejected with: > +1 I was disappointed that this wasn't part of the patch that added support for it for FKs. What about exclusion constraints? I think making them work should be more-or-less identical, and then we'll have support for the full set, since CHECK and NOT NULL constraints can't currently be deferred. > constraint \"%s\" of relation \"%s\" is not a foreign key constraint > > The patch also adds some regression tests for DEFERRABLE constraints. > > The ALTER doesn't take effect in the session it's run in, which makes > me suspect I need to do additional cache invalidations - maybe the > index backing the constraint? Anyway, posted here as-is because I'm > out of time for now and it might be useful for someone who's looking > for info on this. > If you add it to the next commitfest, I'll review it. Regards, Dean