木匠钉子
Skip to content
博客

标签: postgresql

所有带有 "postgresql" 标签的文章。

2026

9 月 的文章,展开或收起
  1. COMMIT 返回之前,PostgreSQL 到底在等什么?

    COMMIT 返回之前,PostgreSQL 要等 WAL 持久化到自己的 Commit LSN。可这条有序日志是一群并发 Backend 写出来的,这条线比想象中曲折。

8 月 的文章,展开或收起
  1. WAL 里面存的是 Page Diff 吗?

    一个 Page 在 Shared Buffers 里被修改以后,PostgreSQL 到底往 WAL 里留下了什么?从 Heap Insert 一路看到 B-tree Split、FPI 和 rmgr。

  2. Shared Buffers 不是一个 Cache

    Shared Buffers 会缓存 Page,但沿着一个 Buffer Slot 的生命周期看下去,里面还有 identity、pin、I/O、dirty 和 eviction 组成的一整套协议。

  3. 一个 Backend 想睡一觉,为什么这么麻烦?

    条件不满足就睡,别人做完了再叫醒。听起来很简单,但并发系统最麻烦的地方,往往就藏在"决定要睡"和"真正睡下去"之间。