START TRANSACTION
Name
START TRANSACTION -- start a transaction block
Synopsis
START TRANSACTION [
transaction_mode
[, ...] ]
where
transaction_mode
is one of:
ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
READ WRITE | READ ONLY
Description
This command begins a new transaction block. If the isolation level or read/write mode is specified, the new transaction has those characteristics, as if
SET TRANSACTION
was executed. This is the same as the
BEGIN
command.
Parameters
Refer to
SET TRANSACTION
for information on the meaning of the parameters to this statement.
Compatibility
In the standard, it is not necessary to issue START TRANSACTION to start a transaction block: any SQL command implicitly begins a block. PostgreSQL's behavior can be seen as implicitly issuing a COMMIT after each command that does not follow START TRANSACTION (or BEGIN), and it is therefore often called "autocommit". Other relational database systems may offer an autocommit feature as a convenience.
The SQL standard requires commas between successive
transaction_modes
, but for historical reasons PostgreSQL allows the commas to be omitted.
See also the compatibility section of
SET TRANSACTION
.