由来
已经忘了第一次是什么时候读到 Егор Рогов 发表的 PostgreSQL 系列文章,只记得当时觉得这一系列文章写的真好。这一系列文章源于俄罗斯 Postgres Professional 公司的培训材料,文章分为若干大的主题,包括索引,MVCC,WAL 以及锁,每个主题又包括若干文章。文章从 PostgreSQL 应用开发者的角度出发,不涉及数据库源码,以浅显易懂的方式介绍 PostgreSQL 中相关机制的实现原理,并通过实验和 SQL 查看数据库相关信息,对原理进行验证,是不可多得的介绍 PostgreSQL 原理的文章。
后来,产生了翻译这一系列文章的想法,征得作者同意后,着手翻译。译文起初记录在语雀文档中,现转移至知乎并开设专栏,冠以《PostgreSQL 必知必会》。为什么叫”必知必会“呢?只是单纯觉得这一系列文章介绍的原理是 PostgreSQL 应用开发者和数据库管理员都应该了解的知识。
在翻译过程中,根据个人理解,对文章结构和内容做了适当调整,文中的 SQL 都在最新的 PostgreSQL 14 版本中进行了验证,如有翻译错漏,还请指正。
目录
PostgreSQL 索引
- PostgreSQL 索引-1.索引引擎
- PostgreSQL 索引-2.访问方法
- PostgreSQL 索引-3.哈希
- PostgreSQL 索引-4.B树
- PostgreSQL 索引-5.GiST
- PostgreSQL 索引-6.SP-GiST
- PostgreSQL 索引-7.GIN
- PostgreSQL 索引-8.RUN
- PostgreSQL 索引-9.BRIN
-
PostgreSQL MVCC
PostgreSQL MVCC-1.隔离性
- PostgreSQL MVCC-2.Forks,文件和页
- PostgreSQL MVCC-3.行版本
- PostgreSQL MVCC-4.快照
- PostgreSQL MVCC-5.页内 vacuum 和 HOT
- PostgreSQL MVCC-6.vacuum
- PostgreSQL MVCC-7.Autovacuum
-
PostgreSQL WAL
PostgreSQL WAL-1.Buffer 缓存
- PostgreSQL WAL-2.WAL
- PostgreSQL WAL-3.检查点
-
PostgreSQL 锁
PostgreSQL 锁-1.表级锁
- PostgreSQL 锁-2.行级锁
- PostgreSQL 锁-3.其他锁
- PostgreSQL 锁-4.内存中的锁
多数文章还没有翻译完,努力填坑中 ^^..