标签: internals
所有带有 "internals" 标签的文章。
2026
9 月 的文章,展开或收起
-
COMMIT 返回之前,PostgreSQL 到底在等什么?
COMMIT 返回之前,PostgreSQL 要等 WAL 持久化到自己的 Commit LSN。可这条有序日志是一群并发 Backend 写出来的,这条线比想象中曲折。
8 月 的文章,展开或收起
-
WAL 里面存的是 Page Diff 吗?
一个 Page 在 Shared Buffers 里被修改以后,PostgreSQL 到底往 WAL 里留下了什么?从 Heap Insert 一路看到 B-tree Split、FPI 和 rmgr。
-
Shared Buffers 不是一个 Cache
Shared Buffers 会缓存 Page,但沿着一个 Buffer Slot 的生命周期看下去,里面还有 identity、pin、I/O、dirty 和 eviction 组成的一整套协议。
-
一个 Backend 想睡一觉,为什么这么麻烦?
条件不满足就睡,别人做完了再叫醒。听起来很简单,但并发系统最麻烦的地方,往往就藏在"决定要睡"和"真正睡下去"之间。