On Tue, Aug 22, 2006 at 02:37:19PM -0300, marcelo Cortez wrote: > > This isn't a trigger function. Are you sure "trigger" is the > > word you meant? > > yes i do I see: the function you originally posted is called by a trigger function. In any case the answer is the same: functions can't start or end transactions because they're already being executed in the context of an outer transaction. My previous message mentioned using dblink as a way around that, but that's not necessarily good design -- one problem is that if the outer transaction rolls back then transactions that have already been committed over a dblink connection won't be rolled back. Doing transaction control from outside the functions would probably be better. -- Michael Fuhr