In Postgres Pro Enterprise, BEGIN/START TRANSACTION,
COMMIT/END, and
ROLLBACK/ABORT transaction
statements are extended with an optional keyword
AUTONOMOUS. For example:
BEGIN [AUTONOMOUS] [TRANSACTION] [ ISOLATION LEVEL isolation-level]
END [AUTONOMOUS] [TRANSACTION]
where isolation-level can be one of the following:
SERIALIZABLE, REPEATABLE READ,
READ COMMITTED, or READ UNCOMMITTED.
The AUTONOMOUS keyword is required to start an autonomous
transaction, but can be omitted when completing an autonomous transaction.
If you have several nested levels of autonomous transactions, they are
completed one by one, starting from the innermost nesting level.
The top-level transaction cannot be autonomous.