Re: exclude constraints with same name? - Mailing list pgsql-general

From Jeff Davis
Subject Re: exclude constraints with same name?
Date
Msg-id 1285373006.5820.17.camel@jdavis-ux.asterdata.local
Whole thread Raw
In response to exclude constraints with same name?  ("A.M." <agentm@themactionfaction.com>)
List pgsql-general
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


pgsql-general by date:

Previous
From: rey
Date:
Subject: psql copy command - 1 char limitation on delimiter
Next
From: "Joshua D. Drake"
Date:
Subject: Re: Front End Application (OFF-TOPIC)