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


Reply via email to