foreign key restrictions - Mailing list pgsql-general

From rafal@zorro.isa-geek.com
Subject foreign key restrictions
Date
Msg-id 64cc57edd02dabd82e3f95268aee1a67.squirrel@localhost
Whole thread Raw
Responses Re: foreign key restrictions
List pgsql-general
Hi All,

on numerous times I had fell onto postgress complaining, that I try to
create foreign key, pointing to a set not embraced within a unique key
constraint.

Here is the case:

CREATE TABLE one (id int not null unique, info text);
CREATE TABLE two (id int not null unique, ofone int references one(id),
info text);

now when I try to:

CREATE TABLE three(one int not null, two int, info text, foreign key (one,
two) references two (one, id));

I get the following error:
ERROR:  there is no unique constraint matching given keys for referenced
table "two"

But.

Since table TWO has a unique constraint on column ID, the (ID, OFONE) pair
will also be unique, obviously.

Naturaly I can, and I do, add the requested constraint to the table TWO,
but to me it looks spurious - not providing any additional constraint
(which is already quearanteed by unique(ID), just a 'syntax glue'.

I must have missed something here. Can someone help me understand this?



pgsql-general by date:

Previous
From: "Scott Marlowe"
Date:
Subject: Re: 100% CPU pg processes that don't die.
Next
From: "Henry"
Date:
Subject: Re: [Pgpool-general] Trying to switch from PgPool1 to PgPool2