PostgreSQL 行锁机制深度解析:从 MVCC 到多级锁的完整链路
配套源码:~/cwork/postgresql(基于 PG 18 主干)
2026-09-11
想象一下,你正坐在一家 24 小时营业的自助图书馆里。顾客们进进出出,有人想改书里的一段话,有人想删掉某一页。如果每改一次都要把整本书收回柜台、贴上封条、再发出去,那这家图书馆基本就瘫痪了。
目标:理解 PostgreSQL 堆表的页面布局、HeapTuple 结构、xmin/xmax/cmin/cmax 语义、HOT 链、pruning、vacuumlazy。这是 PG 与 MySQL InnoDB 在工程上最大的差异点。