My workaround to this was create a unique key serial @ childtable and use this unique key as foreign key. But I really dont like this.
I tried to recreate the primary key again, but didnt work either
On Sun, May 24, 2009 at 3:11 PM, Kedar Rasik Parikh
<kedarr@netcore.co.in> wrote:
I believe you will have to say good bye to the foreign key constraint.
Its is not inherited, only the schema is, constraints and index will have to be separately created per child table.
-Regards
Kedar Parikh Quoting Luiz Eduardo Cantanhede Neri <
lecneri@gmail.com>:
Hi,
I'm trying to do something like this:
BEGIN;
CREATE TABLE A
(
idA serial not null primary key,
someColumn text
);
CREATE TABLE B
(
someData text
) INHERITS(A);
CREATE TABLE C
(
idC serial not null primary key,
anotherColumn text
);
CREATE TABLE BC(
idB int4,
idC int4,
FOREIGN KEY (idB) REFERENCES B(idA),
FOREIGN KEY (idC) REFERENCES C(idC)
);
COMMIT;
But When it is going to create the table BC, it gives an error:
ERROR: there is no unique constraint matching given keys for referenced
table "b"
My question is: Shouldn't it get Table A primary key and create the foreign
key?
Thx
Luiz Eduardo