Updated on 2024-06-03 GMT+08:00

COMMIT PREPARED

Description

Commits a prepared two-phase transaction.

Precautions

  • The function is only available in maintenance mode (when the GUC parameter xc_maintenance_mode is on). Exercise caution when enabling the mode. It is used by maintenance engineers for troubleshooting. Common users should not use the mode.
  • Only the creator of a transaction or a system administrator can run this command. The creation and commit operations do not need to be in different sessions.
  • The transaction function is maintained automatically by the database, and should be not visible to users.

Syntax

COMMIT PREPARED transaction_id [ WITH commit_sequence_number ];

Parameters

  • transaction_id

    Specifies the identifier of the transaction to be committed. The identifier must be different from those for current prepared transactions.

  • commit_sequence_number

    Specifies the sequence number of the transaction to be committed. It is a 64-bit, incremental, unsigned number.

Example

-- Start.
gaussdb=# BEGIN;

-- Prepare a transaction whose identifier is trans_test.
gaussdb=# PREPARE TRANSACTION 'trans_test';

-- Create a table.
gaussdb=# CREATE TABLE item1(id int);

--Commit the transaction whose identifier is trans_test.
gaussdb=# COMMIT PREPARED 'trans_test';

-- Drop the table.
gaussdb=# DROP TABLE item1;