=============== COMMIT PREPARED =============== .. container:: refentry :name: SQL-COMMIT-PREPARED .. container:: titlepage .. container:: refnamediv .. rubric:: COMMIT PREPARED :name: commit-prepared COMMIT PREPARED — 提交一个早前为两阶段提交预备的事务 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis COMMIT PREPARED transaction_id .. container:: refsect1 :name: id-1.9.3.54.5 .. rubric:: 描述 :name: 描述 ``COMMIT PREPARED``\ 提交一个处于预备状态的事务。 .. container:: refsect1 :name: id-1.9.3.54.6 .. rubric:: 参数 :name: 参数 .. container:: variablelist *``transaction_id``* 要被提交的事务的事务标识符。 .. container:: refsect1 :name: id-1.9.3.54.7 .. rubric:: 注解 :name: 注解 要提交一个预备的事务,你必须是原先执行该事务的同一用户或者超级用户。 但是不需要处于执行该事务的同一会话中。 这个命令不能在一个事务块中执行。该预备事务将被立刻提交。 ```pg_prepared_xacts`` `__ 系统视图中列出了所有当前可用的预备事务。 .. container:: refsect1 :name: SQL-COMMIT-PREPARED-EXAMPLES .. rubric:: 例子 :name: 例子 提交由事务标识符\ ``foobar``\ 标识的事务: .. code:: programlisting COMMIT PREPARED 'foobar'; .. container:: refsect1 :name: id-1.9.3.54.9 .. rubric:: 兼容性 :name: 兼容性 ``COMMIT PREPARED``\ 是一种 PostgreSQL扩展。其意图是用于 外部事务管理系统,其中有些已经被标准涵盖(例如 X/Open XA), 但是那些系统的 SQL 方面未被标准化。 .. container:: refsect1 :name: id-1.9.3.54.10 .. rubric:: 另见 :name: 另见 `PREPARE TRANSACTION `__, `ROLLBACK PREPARED `__