1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-26 18:17:33 +03:00
postgres/doc/src/sgml/ref/start_transaction.sgml
Peter Eisentraut 3c49c6facb Convert documentation to DocBook XML
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
2017-11-23 09:44:28 -05:00

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>