On 28 February 2017 at 18:03, David G. Johnston <david.g.johnston@xxxxxxxxx> wrote:ivoras=# alter table foo alter constraint "foo_a_b_key" deferrable;ERROR: constraint "foo_a_b_key" of relation "foo" is not a foreign key constraintA more clear error message would be:EROR: cannot alter non-foreign key constraint "foo_a_b_key" of relation "foo"Though I'm not sure how that meshes with the error message style guides...Any idea what underlying technical reason prohibits marking non-fk constraints as deferrable?
Not off hand - but a unique (and PK by extension) constraint is implemented by creating an underlying unique index and the ALTER CONSTRAINT command probably doesn't want to go messing around with that. While the columns involved in a FK constraint can also be indexed the two concepts are not physically linked together.
David J.