On 2020-08-24 18:00, Bruce Momjian wrote:
- command, a procedure is called explicitly using - the <xref linkend="sql-call"/> statement. + command, a procedure is called in isolation using + the <xref linkend="sql-call"/> command. If the CALL command is not + part of an explicit transaction, a procedure can commit, rollback, + and begin new transactions during its execution, which is not possible + in functions.
There are additional conditions for when a procedure can do transaction control, and it also depends on the language. It's not clear how much detail we should give in a general section like this. Often people read this and then wonder why it doesn't work.
-- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services