---
title: "COMMIT PREPARED"
id: sql-commit-prepared
pg_version: "20devel"
---
# COMMIT PREPARED — commit a transaction that was earlier prepared for two-phase commit
## Synopsis
```
COMMIT PREPARED transaction_id
```
## Description
`COMMIT PREPARED` commits a transaction that is in prepared state.
## Parameters
**`transaction_id`**
The transaction identifier of the transaction that is to be committed.
## Notes
To commit 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 committed immediately.
All currently available prepared transactions are listed in the [pg_prepared_xacts](view-pg-prepared-xacts.md) system view.
## Examples
Commit the transaction identified by the transaction identifier `foobar`:
COMMIT PREPARED 'foobar';
## Compatibility
`COMMIT 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), [ROLLBACK PREPARED](sql-rollback-prepared.md)