Re: Commit within a PL/PGSQL procedure

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Harry Broomhall" <harry(dot)broomhall(at)uk(dot)easynet(dot)net>
Cc: josh(at)agliodbs(dot)com, pgsql-novice(at)postgresql(dot)org
Subject: Re: Commit within a PL/PGSQL procedure
Date: 2003-06-18 13:46:41
Message-ID: 21082.1055944001@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Harry Broomhall <harry(dot)broomhall(at)uk(dot)easynet(dot)net> writes:
> Tom Lane writes:
>> If so, the most likely explanation is just
>> that the list of deferred trigger events is getting too large. This is
>> a known deficiency on our TODO list (it should be possible to shove the
>> list out to disk when it gets too large).

> Any way round this?

Not much :-(. AFAIR there is no way to get the trigger list to be
processed while you're inside your function --- you have to return to
the outer command loop. (The correctness of this is debatable, but
that's how things work at the moment.) So you must either break your
work into multiple function calls, or not use foreign keys
while you're building the new table. You could think about adding
the FK constraint after you're done inserting data.

regards, tom lane

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2003-06-18 14:19:28 Re: help:steps needed to get the content of table from the
Previous Message Dani Oderbolz 2003-06-18 13:27:41 Re: sql question (hopefully)