ROLLBACK PREPARED

Name

ROLLBACK PREPARED -- cancel a transaction that was earlier prepared for two-phase commit

Synopsis

ROLLBACK PREPARED transaction_id

Description

Note: The following description applies both to Postgres-XC and PostgreSQL if not described explicitly. You can read PostgreSQL as Postgres-XC except for version number, which is specific to each product.

ROLLBACK PREPARED rolls back a transaction that is in prepared state.

Parameters

Note: The following description applies both to Postgres-XC and PostgreSQL if not described explicitly. You can read PostgreSQL as Postgres-XC except for version number, which is specific to each product.

transaction_id

The transaction identifier of the transaction that is to be rolled back.

Notes

Note: The following description applies both to Postgres-XC and PostgreSQL if not described explicitly. You can read PostgreSQL as Postgres-XC except for version number, which is specific to each product.

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 system view.

Note: XCONLY: The following description applies only to Postgres-XC.

If more than one Datanode and/or Coordinator are involved in the transaction, ROLLBACK PREPARED command will propagate to all these nodes.

Note: XCONLY: The following description applies only to Postgres-XC.

If xc_maintenance_mode GUC parameter is set to ON, ROLLBACK PREPARED will not propagate to other nodes. It just runs locally and report the result to GTM.

Examples

Note: The following description applies both to Postgres-XC and PostgreSQL if not described explicitly. You can read PostgreSQL as Postgres-XC except for version number, which is specific to each product.

Roll back the transaction identified by the transaction identifier foobar:

ROLLBACK PREPARED 'foobar';

Compatibility

Note: The following description applies both to Postgres-XC and PostgreSQL if not described explicitly. You can read PostgreSQL as Postgres-XC except for version number, which is specific to each product.

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, COMMIT PREPARED, xc_maintenance_mode