Обсуждение: AW: Constraint names using 'user namespace'?

Поиск
Список
Период
Сортировка

AW: Constraint names using 'user namespace'?

От
Zeugswetter Andreas SB
Дата:
> > pjw=# create table pk1(f1 integer, constraint zzz primary key(f1));
> > NOTICE:  CREATE TABLE/PRIMARY KEY will create implicit 
> index 'zzz' for
> > table 'pk1'
> > CREATE
> > pjw=# create table zzz(f1 integer);
> > ERROR:  Relation 'zzz' already exists
> 
> > Is there a good reason why the automatically created items 
> do not have a
> > 'pg_' in front of their names?
> 
> Not a good idea.  I think it should probably be pk1_zzz in this case.
> 
> If we do either, it will break the recently submitted pg_dump 
> patch that
> uses the index name as the constraint name.  I thought that patch was
> wrongheaded anyway, and would recommend reversing it...

I rather think, that having index names clash with table names is the bogus part.
That the index gets the specified name from the constraint clause is more
or less expected behavior (Informix, Oracle  ...).

Andreas