
# COMMIT PREPARED
#### 功能描述
提交一个早先为两阶段提交准备好的事务。
#### 注意事项
- 该功能仅在维护模式(GUC参数xc_maintenance_mode为on时)下可用。该模式谨慎打开，一般供维护人员排查问题使用，一般用户不应使用该模式。
- 命令执行者必须是该事务的创建者或系统管理员，且创建和提交操作可以不在同一个会话中。
- 事务功能由数据库自动维护，不应显式使用事务功能。
 
#### 语法格式
```
COMMIT PREPARED transaction_id [ WITH commit_sequence_number ];
```
#### 参数说明
- **transaction_id**
  待提交事务的标识符。它不能和任何当前预备事务已经使用了的标识符同名。
  

- **commit_sequence_number**
  待提交事务的序列号。它是一个64位递增无符号数。
  
 
#### 示例
```
--开始。
openGauss=# begin;
--准备标识符为的trans_test的事务。
openGauss=# PREPARE TRANSACTION 'trans_test';
--创建表。
openGauss=# CREATE TABLE item1(id int);
--提交标识符为的trans_test的事务。
openGauss=# COMMIT PREPARED 'trans_test';
--删除表。
openGauss=# DROP TABLE item1;
```
#### 相关链接
[PREPARE TRANSACTION](https://support.huaweicloud.com/distributed-devg-v2-gaussdb/gaussdb-12-0431.html#ZH-CN_TOPIC_0000002187528500)，[ROLLBACK PREPARED](https://support.huaweicloud.com/distributed-devg-v2-gaussdb/gaussdb-12-0440.html#ZH-CN_TOPIC_0000002222774521)。
