mirror of
https://github.com/postgres/postgres.git
synced 2025-05-26 18:17:33 +03:00
Since some preparation work had already been done, the only source changes left were changing empty-element tags like <xref linkend="foo"> to <xref linkend="foo"/>, and changing the DOCTYPE. The source files are still named *.sgml, but they are actually XML files now. Renaming could be considered later. In the build system, the intermediate step to convert from SGML to XML is removed. Everything is build straight from the source files again. The OpenSP (or the old SP) package is no longer needed. The documentation toolchain instructions are updated and are much simpler now. Peter Eisentraut, Alexander Lakhin, Jürgen Purtz
98 lines
2.9 KiB
Plaintext
98 lines
2.9 KiB
Plaintext
<!--
|
|
doc/src/sgml/ref/start_transaction.sgml
|
|
PostgreSQL documentation
|
|
-->
|
|
|
|
<refentry id="sql-start-transaction">
|
|
<indexterm zone="sql-start-transaction">
|
|
<primary>START TRANSACTION</primary>
|
|
</indexterm>
|
|
|
|
<refmeta>
|
|
<refentrytitle>START TRANSACTION</refentrytitle>
|
|
<manvolnum>7</manvolnum>
|
|
<refmiscinfo>SQL - Language Statements</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>START TRANSACTION</refname>
|
|
<refpurpose>start a transaction block</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<synopsis>
|
|
START TRANSACTION [ <replaceable class="parameter">transaction_mode</replaceable> [, ...] ]
|
|
|
|
<phrase>where <replaceable class="parameter">transaction_mode</replaceable> is one of:</phrase>
|
|
|
|
ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
|
|
READ WRITE | READ ONLY
|
|
[ NOT ] DEFERRABLE
|
|
</synopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>
|
|
This command begins a new transaction block. If the isolation level,
|
|
read/write mode, or deferrable mode is specified, the new transaction has those
|
|
characteristics, as if <xref linkend="sql-set-transaction"/> was executed. This is the same
|
|
as the <xref linkend="sql-begin"/> command.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Parameters</title>
|
|
|
|
<para>
|
|
Refer to <xref linkend="sql-set-transaction"/> for information on the meaning
|
|
of the parameters to this statement.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Compatibility</title>
|
|
|
|
<para>
|
|
In the standard, it is not necessary to issue <command>START TRANSACTION</command>
|
|
to start a transaction block: any SQL command implicitly begins a block.
|
|
<productname>PostgreSQL</productname>'s behavior can be seen as implicitly
|
|
issuing a <command>COMMIT</command> after each command that does not
|
|
follow <command>START TRANSACTION</command> (or <command>BEGIN</command>),
|
|
and it is therefore often called <quote>autocommit</quote>.
|
|
Other relational database systems might offer an autocommit feature
|
|
as a convenience.
|
|
</para>
|
|
|
|
<para>
|
|
The <literal>DEFERRABLE</literal>
|
|
<replaceable class="parameter">transaction_mode</replaceable>
|
|
is a <productname>PostgreSQL</productname> language extension.
|
|
</para>
|
|
|
|
<para>
|
|
The SQL standard requires commas between successive <replaceable
|
|
class="parameter">transaction_modes</replaceable>, but for historical
|
|
reasons <productname>PostgreSQL</productname> allows the commas to be
|
|
omitted.
|
|
</para>
|
|
|
|
<para>
|
|
See also the compatibility section of <xref linkend="sql-set-transaction"/>.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
|
|
<simplelist type="inline">
|
|
<member><xref linkend="sql-begin"/></member>
|
|
<member><xref linkend="sql-commit"/></member>
|
|
<member><xref linkend="sql-rollback"/></member>
|
|
<member><xref linkend="sql-savepoint"/></member>
|
|
<member><xref linkend="sql-set-transaction"/></member>
|
|
</simplelist>
|
|
</refsect1>
|
|
</refentry>
|