16.3. SQL Grammar Extension for Autonomous Transactions

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.