START TRANSACTION [ transaction_mode [, ...] ]
其中 transaction_mode 是下列之一:
ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }
READ WRITE | READ ONLY
[ NOT ] DEFERRABLE
在标准中,没有必要发出START TRANSACTION 来开始一个事务块:任何 SQL 命令会隐式地开始一个块。 PostgreSQL的行为可以被视作 在每个命令之后隐式地发出一个没有跟随在 START TRANSACTION( 或者BEGIN)之后的 COMMIT并且因此通常被称作 "自动提交"。为了方便,其他关系型数据库系统也可能会 提供自动提交特性。
DEFERRABLE transaction_mode 是一种PostgreSQL语言扩展。
SQL 标准要求在连续的transaction_modes之间有逗号, 但是由于历史原因PostgreSQL允许 省略逗号。
另见SET TRANSACTION的兼容性小节。