历史版本。 PostgreSQL 7.3 已结束支持。 请参阅 当前版本手册.
START TRANSACTION
START TRANSACTION — 开始一个事务块
大纲
START TRANSACTION [ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ]
输入
无。
输出
START TRANSACTION成功时返回的消息。
WARNING: BEGIN: already a transaction in progress发出命令时已经有一个事务在进行中。
描述
这条命令开始一个新事务。如果指定了隔离级别,新事务就具有该隔离级别。在所有其他方面,这条命令的行为与BEGIN命令相同。
注解
事务的隔离级别也可以用SET TRANSACTION命令设置。如果没有指定隔离级别,则使用默认的隔离级别。
兼容性
SQL99
SERIALIZABLE 是 SQL99 中的默认隔离级别,但它不是 PostgreSQL
中通常的默认值:出厂默认设置为 READ COMMITTED。PostgreSQL
不提供 READ UNCOMMITTED 和
REPEATABLE READ 隔离级别。由于缺乏谓词锁定,SERIALIZABLE 级别并非真正的可串行化。细节见用户指南。
在 SQL99 中,这条语句还可以指定新事务的两个其他属性:事务是否为只读,以及诊断区的大小。这两个概念目前 PostgreSQL 都不支持。