mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
number of active subtransaction XIDs in each backend's PGPROC entry, and use this to avoid expensive probes into pg_subtrans during TransactionIdIsInProgress. Extend EOXactCallback API to allow add-on modules to get control at subxact start/end. (This is deliberately not compatible with the former API, since any uses of that API probably need manual review anyway.) Add basic reference documentation for SAVEPOINT and related commands. Minor other cleanups to check off some of the open issues for subtransactions. Alvaro Herrera and Tom Lane.
114 lines
2.5 KiB
Plaintext
114 lines
2.5 KiB
Plaintext
<!--
|
|
$PostgreSQL: pgsql/doc/src/sgml/ref/rollback.sgml,v 1.18 2004/08/01 17:32:13 tgl Exp $
|
|
PostgreSQL documentation
|
|
-->
|
|
|
|
<refentry id="SQL-ROLLBACK">
|
|
<refmeta>
|
|
<refentrytitle id="SQL-ROLLBACK-TITLE">ROLLBACK</refentrytitle>
|
|
<refmiscinfo>SQL - Language Statements</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>ROLLBACK</refname>
|
|
<refpurpose>abort the current transaction</refpurpose>
|
|
</refnamediv>
|
|
|
|
<indexterm zone="sql-rollback">
|
|
<primary>ROLLBACK</primary>
|
|
</indexterm>
|
|
|
|
<refsynopsisdiv>
|
|
<synopsis>
|
|
ROLLBACK [ WORK | TRANSACTION ]
|
|
</synopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>
|
|
<command>ROLLBACK</command> rolls back the current transaction and causes
|
|
all the updates made by the transaction to be discarded.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Parameters</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><literal>WORK</literal></term>
|
|
<term><literal>TRANSACTION</literal></term>
|
|
<listitem>
|
|
<para>
|
|
Optional key words. They have no effect.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Notes</title>
|
|
|
|
<para>
|
|
Use <xref linkend="SQL-COMMIT" endterm="SQL-COMMIT-TITLE"> to
|
|
successfully terminate a transaction.
|
|
</para>
|
|
|
|
<para>
|
|
Issuing <command>ROLLBACK</> when not inside a transaction does
|
|
no harm, but it will provoke a warning message.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Examples</title>
|
|
|
|
<para>
|
|
To abort all changes:
|
|
<programlisting>
|
|
ROLLBACK;
|
|
</programlisting>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Compatibility</title>
|
|
|
|
<para>
|
|
The SQL standard only specifies the two forms
|
|
<literal>ROLLBACK</literal> and <literal>ROLLBACK
|
|
WORK</literal>. Otherwise, this command is fully conforming.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
|
|
<simplelist type="inline">
|
|
<member><xref linkend="sql-begin" endterm="sql-begin-title"></member>
|
|
<member><xref linkend="sql-commit" endterm="sql-commit-title"></member>
|
|
<member><xref linkend="sql-rollback-to" endterm="sql-rollback-to-title"></member>
|
|
</simplelist>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:nil
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../reference.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:"/usr/lib/sgml/catalog"
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
-->
|