'\" t .\" Title: START TRANSACTION .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2024 .\" Manual: PostgreSQL 16.2 Documentation .\" Source: PostgreSQL 16.2 .\" Language: English .\" .TH "START TRANSACTION" "7" "2024" "PostgreSQL 16.2" "PostgreSQL 16.2 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" START_TRANSACTION \- start a transaction block .SH "SYNOPSIS" .sp .nf START TRANSACTION [ \fItransaction_mode\fR [, \&.\&.\&.] ] where \fItransaction_mode\fR is one of: ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED } READ WRITE | READ ONLY [ NOT ] DEFERRABLE .fi .SH "DESCRIPTION" .PP 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 \fBSET TRANSACTION\fR was executed\&. This is the same as the \fBBEGIN\fR command\&. .SH "PARAMETERS" .PP Refer to SET TRANSACTION (\fBSET_TRANSACTION\fR(7)) for information on the meaning of the parameters to this statement\&. .SH "COMPATIBILITY" .PP In the standard, it is not necessary to issue \fBSTART TRANSACTION\fR to start a transaction block: any SQL command implicitly begins a block\&. PostgreSQL\*(Aqs behavior can be seen as implicitly issuing a \fBCOMMIT\fR after each command that does not follow \fBSTART TRANSACTION\fR (or \fBBEGIN\fR), and it is therefore often called \(lqautocommit\(rq\&. Other relational database systems might offer an autocommit feature as a convenience\&. .PP The DEFERRABLE \fItransaction_mode\fR is a PostgreSQL language extension\&. .PP The SQL standard requires commas between successive \fItransaction_modes\fR, but for historical reasons PostgreSQL allows the commas to be omitted\&. .PP See also the compatibility section of SET TRANSACTION (\fBSET_TRANSACTION\fR(7))\&. .SH "SEE ALSO" \fBBEGIN\fR(7), \fBCOMMIT\fR(7), \fBROLLBACK\fR(7), \fBSAVEPOINT\fR(7), SET TRANSACTION (\fBSET_TRANSACTION\fR(7))