Re: Adding a foreign key constraint is extremely slow - Mailing list pgsql-performance

From Greg Stark
Subject Re: Adding a foreign key constraint is extremely slow
Date
Msg-id 874r5qmctw.fsf@stark.dyndns.tv
Whole thread Raw
In response to Adding a foreign key constraint is extremely slow  (bsamwel@xs4all.nl)
Responses Re: Adding a foreign key constraint is extremely slow  (Bart Samwel <bsamwel@liacs.nl>)
List pgsql-performance
bsamwel@xs4all.nl writes:

> alter table triples add foreign key(id1) references wwwlog(id);
>
> PostgreSQL starts doing heavy work for at least one and a half hour, and I
> broke it off at that. It is not possible to "explain" a statement like
> this! Probably what it does is that it will check the foreign key
> constraint for every field in the table. This will make it completely
> impossible to load my data, because:
>
> (2) I cannot set the foreign key constraints AFTER loading the 0.9 million
> records because I've got no clue at all how long this operation is going
> to take.

Try adding an index on wwwlog(id) so that it can check the constraint without
doing a full table scan for each value being checked.

--
greg

pgsql-performance by date:

Previous
From: Abhishek Sharma
Date:
Subject:
Next
From: Bart Samwel
Date:
Subject: Re: Adding a foreign key constraint is extremely slow