Re: INHERIT and FOREIGN KEY issues

From: Luiz Eduardo Cantanhede Neri <lecneri(at)gmail(dot)com>
To: Kedar Rasik Parikh <kedarr(at)netcore(dot)co(dot)in>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: INHERIT and FOREIGN KEY issues
Date: 2009-05-24 18:26:00
Message-ID: 252e1f290905241126x1a17c51anf5e8c757ad0ebb7c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)netcore(dot)co(dot)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(at)gmail(dot)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
>>
>>
>
>
>
>

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Luiz Eduardo Cantanhede Neri 2009-05-24 18:35:30 Re: INHERIT and FOREIGN KEY issues
Previous Message Tom Lane 2009-05-24 18:23:12 Re: INHERIT and FOREIGN KEY issues