↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3
历史版本。 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 都不支持。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.