<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/release_savepoint.sgml,v 1.6 2006/09/16 00:30:19 momjian Exp $
PostgreSQL documentation
-->

<refentry id="SQL-RELEASE-SAVEPOINT">
 <refmeta>
  <refentrytitle id="SQL-RELEASE-SAVEPOINT-TITLE">RELEASE SAVEPOINT</refentrytitle>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>RELEASE SAVEPOINT</refname>
  <refpurpose>destroy a previously defined savepoint</refpurpose>
 </refnamediv>

 <indexterm zone="sql-release-savepoint">
  <primary>RELEASE SAVEPOINT</primary>
 </indexterm>

 <indexterm zone="sql-release-savepoint">
  <primary>savepoints</primary>
  <secondary>releasing</secondary>
 </indexterm>

 <refsynopsisdiv>
<synopsis>
RELEASE [ SAVEPOINT ] <replaceable>savepoint_name</replaceable>
</synopsis>
 </refsynopsisdiv>
  
 <refsect1>
  <title>Description</title>

  <para>
   <command>RELEASE SAVEPOINT</command> destroys a savepoint previously defined
   in the current transaction.
  </para>

  <para>
   Destroying a savepoint makes it unavailable as a rollback point,
   but it has no other user visible behavior.  It does not undo the
   effects of commands executed after the savepoint was established.
   (To do that, see <xref linkend="sql-rollback-to"
   endterm="sql-rollback-to-title">.)  Destroying a savepoint when
   it is no longer needed may allow the system to reclaim some resources
   earlier than transaction end.
  </para>

  <para>
   <command>RELEASE SAVEPOINT</command> also destroys all savepoints that were
   established after the named savepoint was established.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>
   <varlistentry>
    <term><replaceable>savepoint_name</replaceable></term>
    <listitem>
     <para>
      The name of the savepoint to destroy.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1>
  <title>Notes</title>

  <para>
   Specifying a savepoint name that was not previously defined is an error.
  </para>

  <para>
   It is not possible to release a savepoint when the transaction is in
   an aborted state.
  </para>

  <para>
   If multiple savepoints have the same name, only the one that was most
   recently defined is released.
  </para>

 </refsect1>

 <refsect1>
  <title>Examples</title>

  <para>
   To establish and later destroy a savepoint:
<programlisting>
BEGIN;
    INSERT INTO table1 VALUES (3);
    SAVEPOINT my_savepoint;
    INSERT INTO table1 VALUES (4);
    RELEASE SAVEPOINT my_savepoint;
COMMIT;
</programlisting>
   The above transaction will insert both 3 and 4.
  </para>
 </refsect1>

 <refsect1>
  <title>Compatibility</title>
  
  <para>
   This command conforms to the <acronym>SQL</> standard.  The standard
   specifies that the key word <literal>SAVEPOINT</literal> is
   mandatory, but <productname>PostgreSQL</productname> allows it to
   be omitted.
  </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" endterm="sql-rollback-title"></member>
   <member><xref linkend="sql-rollback-to" endterm="sql-rollback-to-title"></member>
   <member><xref linkend="sql-savepoint" endterm="sql-savepoint-title"></member>
  </simplelist>
 </refsect1>
</refentry>
