From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | Jeff Boes <jboes(at)nexcerpt(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Foreign key constraint generates unique index? |
Date: | 2001-05-18 16:05:00 |
Message-ID: | Pine.BSF.4.21.0105180903230.42896-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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!
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2001-05-18 16:07:01 | Re: Why index don't use with SELECT |
Previous Message | Hunter Hillegas | 2001-05-18 15:23:35 | Disadvantage to RPMs? |