blob: 976b1ffd74500e476173ad87993791e261f2f129 [file] [log] [blame]
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/rollback_prepared.sgml,v 1.3 2006/09/16 00:30:20 momjian Exp $
PostgreSQL documentation
-->
<refentry id="SQL-ROLLBACK-PREPARED">
<refmeta>
<refentrytitle id="sql-rollback-prepared-title">ROLLBACK PREPARED</refentrytitle>
<refmiscinfo>SQL - Language Statements</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ROLLBACK PREPARED</refname>
<refpurpose>cancel a transaction that was earlier prepared for two-phase commit</refpurpose>
</refnamediv>
<indexterm zone="sql-rollback-prepared">
<primary>ROLLBACK PREPARED</primary>
</indexterm>
<refsynopsisdiv>
<synopsis>
ROLLBACK PREPARED <replaceable class="PARAMETER">transaction_id</replaceable>
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
<command>ROLLBACK PREPARED</command> rolls back a transaction that is in
prepared state.
</para>
</refsect1>
<refsect1>
<title>Parameters</title>
<variablelist>
<varlistentry>
<term><replaceable class="PARAMETER">transaction_id</replaceable></term>
<listitem>
<para>
The transaction identifier of the transaction that is to be
rolled back.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Notes</title>
<para>
To roll back a prepared transaction, you must be either the same user that
executed the transaction originally, or a superuser. But you do not
have to be in the same session that executed the transaction.
</para>
<para>
This command cannot be executed inside a transaction block. The prepared
transaction is rolled back immediately.
</para>
<para>
All currently available prepared transactions are listed in the
<link linkend="view-pg-prepared-xacts"><structname>pg_prepared_xacts</structname></link>
system view.
</para>
</refsect1>
<refsect1 id="sql-rollback-prepared-examples">
<title id="sql-rollback-prepared-examples-title">Examples</title>
<para>
Roll back the transaction identified by the transaction
identifier <literal>foobar</>:
<programlisting>
ROLLBACK PREPARED 'foobar';
</programlisting>
</para>
</refsect1>
<refsect1>
<title>See Also</title>
<simplelist type="inline">
<member><xref linkend="sql-prepare-transaction" endterm="sql-prepare-transaction-title"></member>
<member><xref linkend="sql-commit-prepared" endterm="sql-commit-prepared-title"></member>
</simplelist>
</refsect1>
</refentry>