开发快照。 PostgreSQL 20devel 尚未正式发布,内容仍可能变化。
COMMIT
COMMIT — 提交当前事务
大纲
COMMIT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
描述
COMMIT 提交当前事务。该事务所做的所有更改都会对其他会话可见,并且如果发生崩溃,也能保证其持久性。
如果该事务处于已中止状态,则不会做出任何更改,且 COMMIT 的效果将与 ROLLBACK 完全相同,包括命令标签输出在内。
无论哪种情况,如果指定了 AND CHAIN 参数,都会启动一个配置完全相同的新事务。
有关事务的更多信息,见第 3.4 节。
参数
WORKTRANSACTION#可选关键字,没有任何作用。
AND CHAIN#如果指定了
AND CHAIN,则会立即启动一个新事务,其事务特征与刚刚结束的事务相同(参见 SET TRANSACTION)。否则,不会启动任何新事务。
输出
当未中止的事务成功完成时,COMMIT 命令返回如下形式的命令标签:
COMMIT
但是,在已中止的事务中,COMMIT
命令返回如下形式的命令标签:
ROLLBACK
示例
提交当前事务,并使所有更改永久生效:
COMMIT;
兼容性
命令 COMMIT 符合 SQL 标准,但有一个例外:当事务已被中止时,不会引发异常条件。
形式 COMMIT TRANSACTION 是 PostgreSQL 扩展。