发布于 2026-09-18T02:05:10.250299Z · Radim Marek · boringSQL

boringSQL 以 PostgreSQL 18.6 逐页演示行锁如何写入元组头:SELECT FOR UPDATE/SHARE、外键检查把锁事务写入 t_xmax,再由 t_infomask 标记;两个会话同时锁一行时使用 MultiXactId,相关文件会随大量行锁增长。文章把可见性、共享内存锁表上限和页面写放在一起,适合作为排查锁争用与 pg_multixact 增长的底层参考;示例事务 ID 不能照搬生产。
boringSQL 以 PostgreSQL 18.6 逐页演示行锁如何写入元组头:SELECT FOR UPDATE/SHARE、外键检查把锁事务写入 t_xmax,再由 t_infomask 标记;两个会话同时锁一行时使用 MultiXactId,相关文件会随大量行锁增长。文章把可见性、共享内存锁表上限和页面写放在一起,适合作为排查锁争用与 pg_multixact 增长的底层参考;示例事务 ID 不能照搬生产。
来源记录
- pgweb.info_item · 7ebba5f08f7160e7 · 2026-10-03T04:08:55.967155Z