On Fri, 2010-09-24 at 19:05 -0400, A.M. wrote: > I found some surprising behavior with the new EXCLUDE constraint in > 9.0.0- it seems that EXCLUDE constraint names have to be unique across > tables: > That's consistent with UNIQUE constraints. It has to do with whether the constraint is enforced by an index -- UNIQUE and EXCLUDE are both enforced by indexes, and CHECK is not. postgres=# create table a(i int); CREATE TABLE postgres=# create table b(i int); CREATE TABLE postgres=# alter table a add constraint c1 unique(i); NOTICE: ALTER TABLE / ADD UNIQUE will create implicit index "c1" for table "a" ALTER TABLE postgres=# alter table b add constraint c1 unique(i); NOTICE: ALTER TABLE / ADD UNIQUE will create implicit index "c1" for table "b" ERROR: relation "c1" already exists I can see how that would be a little confusing, however. Regards, Jeff Davis -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general