## 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.