Re: Adding foreign key constraints without integrity check? - Mailing list pgsql-general

From Florian G. Pflug
Subject Re: Adding foreign key constraints without integrity check?
Date
Msg-id 44989E23.2030802@phlo.org
Whole thread Raw
In response to Re: Adding foreign key constraints without integrity  (Wes <wespvp@syntegra.com>)
Responses Re: Adding foreign key constraints without integrity
List pgsql-general
Wes wrote:
> On 6/20/06 5:07 AM, "Florian G. Pflug" <fgp@phlo.org> wrote:
>
>> My suggestion was to create the fk _before_ loading the data, and disable it
>> similarly to what "--disable-triggers" doest. It turned out, however, that a
>> FK always depends on a unique index (be it a primary key, or not), which
>> prevents
>> my plan from working :-(
>
> That was a great idea - too bad it didn't pan out.
>
> I don't suppose there's any (reasonable) way to directly insert into the
> system tables to create the constraint?  I could knock almost 2 days off of
> the almost 4 days to reload if I could solve this.

I believe that it's possible, but it's hard to get right. A foreign key
consists of at least
.) The actual definition in pg_constraints or so
.) A trigger
.) Various reconds in pg_depend

To be on the safe side, you'd need to look at the sourcecode, and miminc
what is done there.

Maybe you could ask at some postgresql support companies how much effort it would
be to add a "without check" flag to "alter table add constraint foreign key", and
how much they'd charge for it...

greetings, Florian Pflug


pgsql-general by date:

Previous
From: Michael Fuhr
Date:
Subject: Re: Help requd in writing functions in C and using in Postgres
Next
From: "Qingqing Zhou"
Date:
Subject: Re: simple query terminated by signal 11