↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 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 已于 2007 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

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 都不支持。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。