Foreign key constraint generates unique index? - Mailing list pgsql-general

From Jeff Boes
Subject Foreign key constraint generates unique index?
Date
Msg-id 20010518104420.69c618ad.jboes@nexcerpt.com
Whole thread Raw
Responses Re: Foreign key constraint generates unique index?  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
List pgsql-general
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!

--
Jeff Boes                                             vox 616.226.9550
Database Engineer                                     fax 616.349.9076
Nexcerpt, Inc.                                      jboes@nexcerpt.com


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: CVS, initdb and catalog version
Next
From: Nils Zonneveld
Date:
Subject: Re: Queries across multiple databases (was: SELECT from a table in another database).