文章
这里是我发布的所有文章。
2026
10 月 的文章,展开或收起
-
Heap Page 里的旧版本,什么时候会被清理
从一个 DELETE 留下的死元组出发,看它经过 Visibility Horizon、Page Pruning、LP_DEAD 和 Index Cleanup,最后能变成什么样;以及 VACUUM FULL 为什么要重新造一份 Heap。
9 月 的文章,展开或收起
-
PostgreSQL 是怎么把 Tuple 写进 Heap 的
顺着一次 Tuple 写入,看看 FSM、Visibility Map、Buffer Lock 和 WAL 是怎么在 Heap AM 里接到一起的。
-
Checkpoint 调优,到底在调什么?
Checkpoint 引起的 I/O 尖峰和延迟抖动,可能来自触发太频繁,也可能来自某一轮写得太重。把一次 Checkpoint 拆成 trigger、write、sync 三段,再顺着 WAL、pg_wal 和 Recovery 往下看,这几个参数各自管什么就清楚了。
-
Checkpoint、BgWriter、WAL Writer,PG 的三个后台写进程
Checkpointer、Background Writer 和 WAL Writer 都会在后台写盘,但它们守的是三个不同的边界:Recovery 从哪里开始、Buffer 能不能顺利复用、WAL 推进到了哪里。这三个边界之间,又一直在互相借力。