From 5e45211a64149b3c659b90ff2de6fa982a5a93ed Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 14:17:33 +0200 Subject: Adding upstream version 15.5. Signed-off-by: Daniel Baumann --- doc/src/sgml/html/sql-begin.html | 71 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 doc/src/sgml/html/sql-begin.html (limited to 'doc/src/sgml/html/sql-begin.html') diff --git a/doc/src/sgml/html/sql-begin.html b/doc/src/sgml/html/sql-begin.html new file mode 100644 index 0000000..a773c15 --- /dev/null +++ b/doc/src/sgml/html/sql-begin.html @@ -0,0 +1,71 @@ + +BEGIN

BEGIN

BEGIN — start a transaction block

Synopsis

+BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]
+
+where transaction_mode is one of:
+
+    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
+    READ WRITE | READ ONLY
+    [ NOT ] DEFERRABLE
+

Description

+ BEGIN initiates a transaction block, that is, + all statements after a BEGIN command will be + executed in a single transaction until an explicit COMMIT or ROLLBACK is given. + By default (without BEGIN), + PostgreSQL executes + transactions in autocommit mode, that is, each + statement is executed in its own transaction and a commit is + implicitly performed at the end of the statement (if execution was + successful, otherwise a rollback is done). +

+ Statements are executed more quickly in a transaction block, because + transaction start/commit requires significant CPU and disk + activity. Execution of multiple statements inside a transaction is + also useful to ensure consistency when making several related changes: + other sessions will be unable to see the intermediate states + wherein not all the related updates have been done. +

+ If the isolation level, read/write mode, or deferrable mode is specified, the new + transaction has those characteristics, as if + SET TRANSACTION + was executed. +

Parameters

WORK
TRANSACTION

+ Optional key words. They have no effect. +

+ Refer to SET TRANSACTION for information on the meaning + of the other parameters to this statement. +

Notes

+ START TRANSACTION has the same functionality + as BEGIN. +

+ Use COMMIT or + ROLLBACK + to terminate a transaction block. +

+ Issuing BEGIN when already inside a transaction block will + provoke a warning message. The state of the transaction is not affected. + To nest transactions within a transaction block, use savepoints + (see SAVEPOINT). +

+ For reasons of backwards compatibility, the commas between successive + transaction_modes can be + omitted. +

Examples

+ To begin a transaction block: + +

+BEGIN;
+

Compatibility

+ BEGIN is a PostgreSQL + language extension. It is equivalent to the SQL-standard command + START TRANSACTION, whose reference page + contains additional compatibility information. +

+ The DEFERRABLE + transaction_mode + is a PostgreSQL language extension. +

+ Incidentally, the BEGIN key word is used for a + different purpose in embedded SQL. You are advised to be careful + about the transaction semantics when porting database applications. +

\ No newline at end of file -- cgit v1.2.3