Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
BEGIN(7)		PostgreSQL 9.6.3 Documentation		      BEGIN(7)

NAME
       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(7) or ROLLBACK(7) 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 (SET_TRANSACTION(7))	was executed.

PARAMETERS
       WORK
       TRANSACTION
	   Optional key	words. They have no effect.

       Refer to	SET TRANSACTION	(SET_TRANSACTION(7)) for information on	the
       meaning of the other parameters to this statement.

NOTES
       START TRANSACTION (START_TRANSACTION(7))	has the	same functionality as
       BEGIN.

       Use COMMIT(7) or	ROLLBACK(7) 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(7)).

       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 (START_TRANSACTION(7)), whose
       reference page contains additional compatibility	information.

       The DEFERRABLEtransaction_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.

SEE ALSO
       COMMIT(7), ROLLBACK(7), START TRANSACTION (START_TRANSACTION(7)),
       SAVEPOINT(7)

PostgreSQL 9.6.3		     2017			      BEGIN(7)

NAME | SYNOPSIS | DESCRIPTION | PARAMETERS | NOTES | EXAMPLES | COMPATIBILITY | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=BEGIN&sektion=7&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help