145 lines
3.6 KiB
Plaintext
145 lines
3.6 KiB
Plaintext
<!--
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/start_transaction.sgml,v 1.3 2002/08/30 22:45:25 tgl Exp $
|
|
PostgreSQL documentation
|
|
-->
|
|
|
|
<refentry id="SQL-START-TRANSACTION">
|
|
<docinfo>
|
|
<date>2002-07-26</date>
|
|
</docinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle id="SQL-START-TRANSACTION-TITLE">START TRANSACTION</refentrytitle>
|
|
<refmiscinfo>SQL - Language Statements</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>START TRANSACTION</refname>
|
|
<refpurpose>start a transaction block</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<synopsis>
|
|
START TRANSACTION [ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ]
|
|
</synopsis>
|
|
|
|
<refsect2 id="R2-SQL-START-TRANSACTION-1">
|
|
<refsect2info>
|
|
<date>1998-09-27</date>
|
|
</refsect2info>
|
|
<title>
|
|
Inputs
|
|
</title>
|
|
|
|
<para>
|
|
None.
|
|
</para>
|
|
</refsect2>
|
|
|
|
<refsect2 id="R2-SQL-START-TRANSACTION-2">
|
|
<refsect2info>
|
|
<date>1998-09-27</date>
|
|
</refsect2info>
|
|
<title>
|
|
Outputs
|
|
</title>
|
|
|
|
<para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><computeroutput>
|
|
START TRANSACTION
|
|
</computeroutput></term>
|
|
<listitem>
|
|
<para>
|
|
Message returned if successful.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><computeroutput>
|
|
WARNING: BEGIN: already a transaction in progress
|
|
</computeroutput></term>
|
|
<listitem>
|
|
<para>
|
|
If there is already a transaction in progress when the
|
|
command is issued.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect2>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>
|
|
This command begins a new transaction. If the isolation level is
|
|
specified, the new transaction has that isolation level. In all other
|
|
respects, the behavior of this command is identical to the
|
|
<xref linkend="sql-begin" endterm="sql-begin-title"> command.
|
|
</para>
|
|
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Notes</title>
|
|
|
|
<para>
|
|
The isolation level of a transaction can also be set with the <xref
|
|
linkend="sql-set-transaction" endterm="sql-set-transaction-title">
|
|
command. If no isolation level is specified, the default isolation
|
|
level is used.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 id="R1-SQL-START-TRANSACTION-3">
|
|
<title>Compatibility</title>
|
|
|
|
<refsect2 id="R2-SQL-START-TRANSACTION-4">
|
|
<title>SQL99</title>
|
|
|
|
<para>
|
|
<option>SERIALIZABLE</option> is the default isolation level in
|
|
<acronym>SQL99</acronym>, but it is not the usual default in
|
|
<productname>PostgreSQL</productname>: the factory default setting
|
|
is READ COMMITTED.
|
|
<productname>PostgreSQL</productname>
|
|
does not provide the isolation levels <option>READ UNCOMMITTED</option>
|
|
and <option>REPEATABLE READ</option>. Because of lack of predicate
|
|
locking, the <option>SERIALIZABLE</option> level is
|
|
not truly serializable. See the <citetitle>User's Guide</citetitle>
|
|
for details.
|
|
</para>
|
|
|
|
<para>
|
|
In <acronym>SQL99</acronym> this statement can specify two other
|
|
properties of the new transaction: whether the transaction is
|
|
read-only and the size of the diagnostics area. Neither of these
|
|
concepts are currently supported in
|
|
<productname>PostgreSQL</productname>.
|
|
</para>
|
|
</refsect2>
|
|
</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:
|
|
-->
|