pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
ANSI/ISO 的 SQL 标准根据并发事务之间必须防止的三个现象,定义了四个事务隔离级别。这些不受欢迎的现象是:
一个事务读取了由并发未提交事务写入的数据。
一个事务重新读取它之前读过的数据,发现这些数据已经被另一个已提交的事务修改。
一个事务重新执行一个返回满足某个搜索条件的行集合的查询,发现满足该条件的额外行已经被另一个已提交的事务插入。
四种隔离级别及其对应行为描述如下。
表 10.1. Postgres 隔离级别
| 脏读 | 不可重复读 | 幻读 | |
|---|---|---|---|
| 读未提交 | 可能 | 可能 | 可能 |
| 读已提交 | 不可能 | 可能 | 可能 |
| 可重复读 | 不可能 | 不可能 | 可能 |
| 可串行化 | 不可能 | 不可能 | 不可能 |
Postgres 提供读已提交和可串行化两个隔离级别。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。