]> granicus.if.org Git - postgresql/blob - doc/src/sgml/ref/commit_prepared.sgml
Trim trailing whitespace
[postgresql] / doc / src / sgml / ref / commit_prepared.sgml
1 <!--
2 doc/src/sgml/ref/commit_prepared.sgml
3 PostgreSQL documentation
4 -->
5
6 <refentry id="SQL-COMMIT-PREPARED">
7  <indexterm zone="sql-commit-prepared">
8   <primary>COMMIT PREPARED</primary>
9  </indexterm>
10
11  <refmeta>
12   <refentrytitle>COMMIT PREPARED</refentrytitle>
13   <manvolnum>7</manvolnum>
14   <refmiscinfo>SQL - Language Statements</refmiscinfo>
15  </refmeta>
16
17  <refnamediv>
18   <refname>COMMIT PREPARED</refname>
19   <refpurpose>commit a transaction that was earlier prepared for two-phase commit</refpurpose>
20  </refnamediv>
21
22  <refsynopsisdiv>
23 <synopsis>
24 COMMIT PREPARED <replaceable class="PARAMETER">transaction_id</replaceable>
25 </synopsis>
26  </refsynopsisdiv>
27
28  <refsect1>
29   <title>Description</title>
30
31   <para>
32    <command>COMMIT PREPARED</command> commits a transaction that is in
33    prepared state.
34   </para>
35  </refsect1>
36
37  <refsect1>
38   <title>Parameters</title>
39
40   <variablelist>
41    <varlistentry>
42     <term><replaceable class="PARAMETER">transaction_id</replaceable></term>
43     <listitem>
44      <para>
45       The transaction identifier of the transaction that is to be
46       committed.
47      </para>
48     </listitem>
49    </varlistentry>
50   </variablelist>
51  </refsect1>
52
53  <refsect1>
54   <title>Notes</title>
55
56   <para>
57    To commit a prepared transaction, you must be either the same user that
58    executed the transaction originally, or a superuser.  But you do not
59    have to be in the same session that executed the transaction.
60   </para>
61
62   <para>
63    This command cannot be executed inside a transaction block. The prepared
64    transaction is committed immediately.
65   </para>
66
67   <para>
68    All currently available prepared transactions are listed in the
69    <link linkend="view-pg-prepared-xacts"><structname>pg_prepared_xacts</structname></link>
70    system view.
71   </para>
72  </refsect1>
73
74  <refsect1 id="sql-commit-prepared-examples">
75   <title id="sql-commit-prepared-examples-title">Examples</title>
76   <para>
77    Commit the transaction identified by the transaction
78    identifier <literal>foobar</>:
79
80 <programlisting>
81 COMMIT PREPARED 'foobar';
82 </programlisting></para>
83
84  </refsect1>
85
86  <refsect1>
87   <title>Compatibility</title>
88
89   <para>
90    <command>COMMIT PREPARED</command> is a
91    <productname>PostgreSQL</productname> extension.  It is intended for use by
92    external transaction management systems, some of which are covered by
93    standards (such as X/Open XA), but the SQL side of those systems is not
94    standardized.
95   </para>
96  </refsect1>
97
98  <refsect1>
99   <title>See Also</title>
100
101   <simplelist type="inline">
102    <member><xref linkend="sql-prepare-transaction"></member>
103    <member><xref linkend="sql-rollback-prepared"></member>
104   </simplelist>
105  </refsect1>
106
107 </refentry>