--- title: "ROLLBACK PREPARED" id: sql-rollback-prepared pg_version: "20devel" --- # ROLLBACK PREPARED — cancel a transaction that was earlier prepared for two-phase commit ## Synopsis ``` ROLLBACK PREPARED transaction_id ``` ## Description `ROLLBACK PREPARED` rolls back a transaction that is in prepared state. ## Parameters **`transaction_id`** The transaction identifier of the transaction that is to be rolled back. ## Notes To roll back a prepared transaction, you must be either the same user that executed the transaction originally, or a superuser. But you do not have to be in the same session that executed the transaction. This command cannot be executed inside a transaction block. The prepared transaction is rolled back immediately. All currently available prepared transactions are listed in the [pg_prepared_xacts](view-pg-prepared-xacts.md) system view. ## Examples Roll back the transaction identified by the transaction identifier `foobar`: ROLLBACK PREPARED 'foobar'; ## Compatibility `ROLLBACK PREPARED` is a PostgreSQL extension. It is intended for use by external transaction management systems, some of which are covered by standards (such as X/Open XA), but the SQL side of those systems is not standardized. ## See Also [PREPARE TRANSACTION](sql-prepare-transaction.md), [COMMIT PREPARED](sql-commit-prepared.md)