Hi %.

we have this note in the information schema section, e.g. in 
https://www.postgresql.org/docs/current/information-schema.html

..."This is because the SQL standard requires constraint names to be unique 
within a schema, but PostgreSQL does not enforce this restriction." 
...
PostgreSQL does enforce unique constraint names in a schema:

postgres=# create table t1 ( a int );
CREATE TABLE
postgres=# alter table t1 add constraint c1 unique (a);
ALTER TABLE
postgres=# alter table t1 add constraint c1 unique (a);
ERROR:  relation "c1" already exists

Am I reading this wrong? I know you can have the same constraint with different 
names:

postgres=# create table t1 ( a int );
CREATE TABLE
postgres=# alter table t1 add constraint c2 unique (a);
ALTER TABLE
postgres=# alter table t1 add constraint c3 unique (a);
ALTER TABLE

... but I guess this is not what the notes is supposed to tell me, correct?

Regards
Daniel

Reply via email to