mirror of
https://github.com/postgres/postgres.git
synced 2025-12-19 17:02:53 +03:00
DocBook XML is superficially compatible with DocBook SGML but has a slightly stricter DTD that we have been violating in a few cases. Although XSLT doesn't care whether the document is valid, the style sheets don't necessarily process invalid documents correctly, so we need to work toward fixing this. This first commit moves the indexterms in refentry elements to an allowed position. It has no impact on the output.
108 lines
2.6 KiB
Plaintext
108 lines
2.6 KiB
Plaintext
<!--
|
|
doc/src/sgml/ref/rollback_prepared.sgml
|
|
PostgreSQL documentation
|
|
-->
|
|
|
|
<refentry id="SQL-ROLLBACK-PREPARED">
|
|
<indexterm zone="sql-rollback-prepared">
|
|
<primary>ROLLBACK PREPARED</primary>
|
|
</indexterm>
|
|
|
|
<refmeta>
|
|
<refentrytitle>ROLLBACK PREPARED</refentrytitle>
|
|
<manvolnum>7</manvolnum>
|
|
<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>
|
|
|
|
<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>Compatibility</title>
|
|
|
|
<para>
|
|
<command>ROLLBACK PREPARED</command> is a
|
|
<productname>PostgreSQL</productname> extension. It is intended for use by
|
|
external transaction management systems, some of which are covered by
|
|
standards (such as X/Open XA), but the SQL side of those systems is not
|
|
standardized.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
|
|
<simplelist type="inline">
|
|
<member><xref linkend="sql-prepare-transaction"></member>
|
|
<member><xref linkend="sql-commit-prepared"></member>
|
|
</simplelist>
|
|
</refsect1>
|
|
|
|
</refentry>
|