古法编程
Postgres · Postgres
面向 PostgreSQL 的结构理解、实践经验和问题排查记录。
目录
按顺序读下去,会从模型原理一路走到 Agent 与 Harness 的工程视角。
- 00 PostgreSQL 索引:为什么索引不是"建了就一定快" 导读 从访问路径、回表与扫描方式出发,解释 PostgreSQL 索引为什么有时能加速、有时反而不划算。
- 01 PostgreSQL 事务与 MVCC:一组 SQL 为什么不能只成功一半 从原子性、快照可见性到 VACUUM,梳理 PostgreSQL 事务与 MVCC 如何一起保证正确性和并发。
- 02 PostgreSQL 锁:为什么 MVCC 之外还需要交通规则 围绕库存并发场景,解释 PostgreSQL 里 MVCC、行锁、表锁与死锁处理各自解决什么问题。
- 03 PostgreSQL 日志:为什么一次更新要先写 WAL 用 WAL、checkpoint 与恢复流程解释 PostgreSQL 为什么要先写日志,以及它如何支撑复制和恢复。
- 04 PostgreSQL shared_buffers:缓存不是越大越好 聚焦 shared_buffers 的命中、淘汰与调优,理解 PostgreSQL 缓存为什么不是越大越好。
- 05 PostgreSQL 执行流程:一条 SQL 是怎么被跑起来的 按解析、分析、重写、优化、执行五个阶段,拆开 PostgreSQL 一条 SQL 的完整运行路径。
- 06 PostgreSQL 架构:进程模型与内存模型 从多进程模型与共享内存布局出发,理解 PostgreSQL 架构为什么这样设计以及带来的权衡。