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

From Scott Marlowe
Subject Re: Adding foreign key constraints without integrity
Date
Msg-id 1150748696.26538.113.camel@state.g2switchworks.com
Whole thread Raw
In response to Adding foreign key constraints without integrity check?  (Wes <wespvp@syntegra.com>)
Responses Re: Adding foreign key constraints without integrity
List pgsql-general
On Sun, 2006-06-18 at 22:41, Wes wrote:
> Is there a way to add a foreign key constraint without having to wait for it
> to check the consistency of all existing records?  If a database is being
> reloaded (pg_dumpall then load), it really shouldn't be necessary to check
> the referential integrity - or at least I should be able to stipulate that I
> am accepting that risk.
>
> My database reload is currently taking about 6 hours to load the data, 42
> hours to reindex, and about another 40 hours or so to check the foreign key
> constraints (about 1.2 billion rows).  That's a very long time to be out of
> commission.  I'd really like to eliminate that second 40 hours so I can get
> it down to a normal weekend.

Are you sure that's really the problem?  Do you have indexes on the
referring tables (i.e. the foreign key that points to the other table's
primary key).  Not having an index on the subordinate table makes each
and every check on the FK->PK relationship require a seq scan of the
subordinate table.

pgsql-general by date:

Previous
From: Bruno Wolff III
Date:
Subject: Re: Computing transitive closure of a table
Next
From: elein
Date:
Subject: Cannot restart postgres