Thread: Creating constraint sometime fail in a transaction

Creating constraint sometime fail in a transaction

From
Olivier Hubaut
Date:
Hi,

I've a strange bug on PgSQL 7.3.3 with function, constraints and 
transactions.

As the foreign key are too heavy for a massive insert, even set defered, 
we've decided to put them in a function in order to enable/disable them.

So, in such a transaction, first we disable the constraints, using a 
function, then inserting all the data, and afterall put the constraints 
back with another function.

This work fine and quickly... if we do it once. But, when we tried to 
make a big batch with a lot of such transaction, sometime, some 
constraint aren't put back or drop, and the rest of the transactions falls.

So, we're wondering if the action for putting/removing constraint could 
be executed out of the transaction, so that it may overlaps and crash in 
such case.

Does anyone notice the same problem?


-- 
Signature en cours de maintenance,
Veuillez patienter...


Re: Creating constraint sometime fail in a transaction

From
Tom Lane
Date:
Olivier Hubaut <olivier@scmbb.ulb.ac.be> writes:
> So, we're wondering if the action for putting/removing constraint could 
> be executed out of the transaction, so that it may overlaps and crash in 
> such case.

> Does anyone notice the same problem?

When you didn't show us exactly what you're doing or exactly what went
wrong, it's impossible to say ...
        regards, tom lane