In the following example:
create table parent (
id integer unique not null,
name varchar(24)
);
create table child (
first_name varchar(256),
last_name varchar(256)
) inherits (parent);
create table relations (
id integer references child (id)
);
Creating the relations table fails with:
ERROR: there is no unique constraint maching given keys for
referenced table "child"
If I change the last table to:
create table relations (
id integer references parent (id)
);
it works.
This essentially means that references must point to the real table
where the referenced column is, and cannot point to that same column in
a table that inherits the real table.
is this by design, is it a bug, is it just not implemented yet, or am I
doing this wrong?
/s.