Marcelo Sena <marceloslacerda(at)gmail(dot)com> wrote:
> So, is it documented somewhere?
http://www.postgresql.org/docs/current/static/tutorial-transactions.html
| PostgreSQL actually treats every SQL statement as being executed
| within a transaction. If you do not issue a BEGIN command, then
| each individual statement has an implicit BEGIN and (if
| successful) COMMIT wrapped around it.
Combine this with the fact that a function can only run in the
context of a command, like:
SELECT func_name();
You have your guarantee -- as long as you understand the possible
action of subtransactions (like savepoints).
-Kevin