NOTE

2.1 PostgreSQL隔离级别

1. 实现 PostgreSQL中根据获取快照时机的不同实现了不同的数据库隔离级别(对应代码中函数GetTransactionSnapshot): - Read UnCommited/Read Commited:每个query都会获取最新的快照CurrentSnapshotData - Repeta

Database创建于 更新于 约 1 分钟读完historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 实现

PostgreSQL中根据获取快照时机的不同实现了不同的数据库隔离级别(对应代码中函数GetTransactionSnapshot):

  • Read UnCommited/Read Commited:每个query都会获取最新的快照CurrentSnapshotData
  • Repetable Read:所有的query 获取相同的快照都为第1个query获取的快照FirstXactSnapshot
  • Serializable:使用锁系统来实现

2026 注:PostgreSQL 的 READ UNCOMMITTED 实际按 READ COMMITTED 处理;Serializable 也不只是普通锁,而是通过 Serializable Snapshot Isolation(SSI)并结合 predicate locking 检测可能破坏串行化的依赖。

正在加载有帮助数量