Re: Fw: postgresql experts please help

Поиск
Список
Период
Сортировка
От Kris Jurka
Тема Re: Fw: postgresql experts please help
Дата
Msg-id Pine.BSO.4.64.0710181927161.5403@leary.csoft.net
обсуждение исходный текст
Ответ на Re: Fw: postgresql experts please help  ("Andrei Ilitchev" <andrei.ilitchev@oracle.com>)
Ответы Re: Fw: postgresql experts please help  (Oliver Jowett <oliver@opencloud.com>)
Список pgsql-jdbc

On Thu, 18 Oct 2007, Andrei Ilitchev wrote:

> IMO this behaviour (if there's existing sequence create another one with the
> same name but in some other place) is very wrong - be predictible, throw
> exception.

This is not true, but it can be confusing.  A serial's sequence will
always be put in the same schema as the table it's attached to.  If
another sequence exists with the same name in that schema, it will choose
another name for the serial sequence:

jurka=# create sequence t2_a_seq;
CREATE SEQUENCE
jurka=# create table t2 (a serial);
NOTICE:  CREATE TABLE will create implicit sequence "t2_a_seq1" for serial
column "t2.a"
CREATE TABLE


Notice that it created "t2_a_seq1" to avoid the conflict with the existing
"t2_a_seq" sequence.  If you've got another sequence with the same name in
another schema it does not conflict, but depending on your search_path you
can get them mixed up.  Both of these problems are solved by using
pg_get_serial_sequence, which should perhaps be mentioned more prominently
in the documentation.  There is definitely a use for keeping multiple
tables/sequences with identical names in different schemas and not having
them conflict.  In fact that's the primary use case for having schemas at
all.

Kris Jurka

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: "Andrei Ilitchev"
Дата:
Сообщение: Re: Fw: postgresql experts please help
Следующее
От: Oliver Jowett
Дата:
Сообщение: Re: Fw: postgresql experts please help