pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
START TRANSACTION — 开始一个事务块
START TRANSACTION [ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ]
无。
START TRANSACTION成功时返回的消息。
WARNING: BEGIN: already a transaction in progress发出命令时已经有一个事务在进行中。
这条命令开始一个新事务。如果指定了隔离级别,新事务就具有该隔离级别。在所有其他方面,这条命令的行为与BEGIN命令相同。
事务的隔离级别也可以用SET TRANSACTION命令设置。如果没有指定隔离级别,则使用默认的隔离级别。
SERIALIZABLE 是 SQL99 中的默认隔离级别,但它不是 PostgreSQL 中通常的默认值:出厂默认设置为 READ COMMITTED。PostgreSQL 不提供 READ UNCOMMITTED 和 REPEATABLE READ 隔离级别。由于缺乏谓词锁定,SERIALIZABLE 级别并非真正的可串行化。细节见用户指南。
在 SQL99 中,这条语句还可以指定新事务的两个其他属性:事务是否为只读,以及诊断区的大小。这两个概念目前 PostgreSQL 都不支持。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。