Laurenz Albe <laurenz.a...@cybertec.at> writes: > Dave Cramer wrote: > test=> BEGIN; > BEGIN > test=> CALL testproc(); > ERROR: invalid transaction termination > CONTEXT: PL/pgSQL function testproc() line 1 at COMMIT
> What is the rationale for this? A procedure shouldn't be able to force commit of the surrounding transaction. As Dave noted, what would be nicer is for procedures to be able to start and commit autonomous transactions, without affecting the state of the outer transaction. We haven't got that though, and it looks like a lot of work to get there. regards, tom lane