---
name: "COMMIT_PREPARED"
section: "7"
platform: "linux"
package: "postgresql"
version: "18.6-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/COMMIT_PREPARED"
---

# COMMIT\_PREPARED(7)

commit a transaction that was earlier prepared for two-phase commit

## NAME

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 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 ([**PREPARE\_TRANSACTION**(7)](/PREPARE_TRANSACTION/7.md)), ROLLBACK PREPARED ([**ROLLBACK\_PREPARED**(7)](/ROLLBACK_PREPARED/7.md))
