Re: INHERIT and FOREIGN KEY issues - Mailing list pgsql-novice

From Luiz Eduardo Cantanhede Neri
Subject Re: INHERIT and FOREIGN KEY issues
Date
Msg-id 252e1f290905241126x1a17c51anf5e8c757ad0ebb7c@mail.gmail.com
Whole thread Raw
In response to Re: INHERIT and FOREIGN KEY issues  (Kedar Rasik Parikh <kedarr@netcore.co.in>)
Responses Re: INHERIT and FOREIGN KEY issues  (Luiz Eduardo Cantanhede Neri <lecneri@gmail.com>)
List pgsql-novice
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






pgsql-novice by date:

Previous
From: Tom Lane
Date:
Subject: Re: INHERIT and FOREIGN KEY issues
Next
From: Luiz Eduardo Cantanhede Neri
Date:
Subject: Re: INHERIT and FOREIGN KEY issues