inheritance and foreign keys - Mailing list pgsql-general

From Thomas F. O'Connell
Subject inheritance and foreign keys
Date
Msg-id 3ACE1CEA.8060301@monsterlabs.com
Whole thread Raw
Responses Re: inheritance and foreign keys
List pgsql-general
this might actually involve two separate issues. one is empty
inheritance (which i'll describe in a second); the other is inheritance
and foreign keys.

here is a description of what i want to do:

i want to create a table as a super-class. then i want to create a
sub-class of that table that has exactly the same column set. then i
want to create another table that has a foreign key that references a
column in the sub-class that is a primary key of the super-class.

here is a basic psql sequence that is what i am attempting:

$psql test_db
test_db=# create table foo( id int2 primary key );
NOTICE:  CREATE TABLE/PRIMARY KEY will create implicit index 'foo_pkey'
for table 'foo'
CREATE
test_db=# create table sub_foo() inherits( foo );
CREATE
test_db=# create table bar( sub_foo_id int2 references sub_foo( id ) );
NOTICE:  CREATE TABLE will create implicit trigger(s) for FOREIGN KEY
check(s)
ERROR:  UNIQUE constraint matching given keys for referenced table
"sub_foo" not found

why do i get the ERROR at the end of that sequence of commands? i don't
understand why there would be a failed UNIQUE constraint matching or
even where that is actually occurring. if i add UNIQUE to bar above, i
get the same error.

is it not possible to reference the keys of a sub-classed table directly
from a foreign table?

-tfo


pgsql-general by date:

Previous
From: "Nick T"
Date:
Subject: information on users
Next
From: missive@frontiernet.net (Lee Harr)
Date:
Subject: Re: Why are quotes required around table / column names in SQL statements?