Re: Foreign key constraint generates unique index?

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: Foreign key constraint generates unique index?
Дата
Msg-id Pine.BSF.4.21.0105180903230.42896-100000@megazone23.bigpanda.com
обсуждение исходный текст
Ответ на Foreign key constraint generates unique index?  (Jeff Boes <jboes@nexcerpt.com>)
Список pgsql-general
That probably comes from the SERIAL definition, not the fk.  Since serial
is defined to give unique values (well up till you run out anyway), a
unique constraint makes sense.  You probably meant owner_id int4
constraint ... since you don't want automatic values being inserted.

On Fri, 18 May 2001, Jeff Boes wrote:

> This is a puzzle: I'm creating a small table that will have a single
> column primary key, and a foreign key referencing another table. Here's
> the SQL:
>
> CREATE TABLE dogs
> (
>     dog_id          SERIAL      CONSTRAINT ix_dogs_pk PRIMARY KEY,
>     owner_id        SERIAL      CONSTRAINT ix_dogs_1 REFERENCES owners
>                                     ON DELETE CASCADE,
>     name            TEXT
> );
>
> When I run this in psql 7.1, I get:
>
> NOTICE:  CREATE TABLE will create implicit sequence 'dogs_dog_id_seq' for
>   SERIAL column 'dogs.dog_id'
> NOTICE:  CREATE TABLE will create implicit sequence 'dogs_owner_id_seq'
>   for SERIAL column 'dogs.owner_id'
> NOTICE:  CREATE TABLE/PRIMARY KEY will create implicit index 'ix_dogs_pk'
>   for table 'dogs'
> NOTICE:  CREATE TABLE/UNIQUE will create implicit index
>   'dogs_owner_id_key' for table 'dogs'
> NOTICE:  CREATE TABLE will create implicit trigger(s) for FOREIGN KEY
>   check(s)
> CREATE
>
> Why is Postgresql creating a unique index for 'dogs_owner_id_key'? I
> don't want that column to be unique!


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

Предыдущее
От: Stephan Szabo
Дата:
Сообщение: Re: Problem while reading from some tables
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: Why index don't use with SELECT