认识 PostgreSQL

PostgreSQL 的历史和许可,进程模型、事务与 MVCC,B-tree 和其他索引,执行计划、约束、JSONB、扩展和支持周期。

  • 16 页
  • 风格 standard · 商务
  • 配色 cobalt
认识 PostgreSQL 第 1 页:封面

关于这套演示

适合刚开始用 PostgreSQL 的开发者,或者想弄清它内部怎样工作的人。从一个连接对应一个进程讲起,到 MVCC 怎样让读写互不阻塞、索引和执行计划怎样决定查询快慢,最后是 JSONB、扩展生态和每个大版本的支持年限。

共 16 页,standard 风格、cobalt 配色,用 PCafe 的 15 个模板拼成。可以在浏览器里直接播放,也可以下载成 HTML、PowerPoint 或 PDF,或者嵌入到自己的网页里。

内容提要

  1. 认识 PostgreSQL

    从伯克利的研究项目到今天的开源关系数据库:历史、许可、核心机制和版本节奏。

  2. 四十年,三个名字

    项目由伯克利的 Michael Stonebraker 主持,1994 年加入 SQL 后才走向今天的样子。

  3. PostgreSQL 许可证:宽松的开源许可, 和 BSD、MIT 相近

    代码由全球开发组(PGDG)维护,不属于某一家公司。

  4. 一个连接,一个后端进程

    客户端先连主进程 postmaster,它为每个连接派生一个独立的后端进程。

  5. 写入的同时拿回改动前后的值

    PostgreSQL 18 起,RETURNING 可以同时引用 OLD 和 NEW。

  6. 两个会话改同一行:后来者等待

    默认隔离级别是读已提交。更新已被别的事务锁住的行时,要等对方提交或回滚。

  7. 更新不覆盖旧行,而是写出新版本

    每个行版本带 xmin(创建它的事务)和 xmax(删除它的事务)。读者按自己的快照挑可见的版本。

  8. 默认索引 B-tree:从根页走到叶子页

    CREATE INDEX 不指定类型时建的就是 B-tree,适合等值和范围查询。

  9. 内置六种索引

    默认类型。等值、范围、排序,适合大多数场景。

  10. 看优化器怎么执行一条查询

    EXPLAIN 输出一棵计划树:叶子读数据,上层做连接和排序。下面的计划是示意。

  11. 外键让表之间的引用始终成立

    REFERENCES 声明外键:插入不存在的客户、删除仍被引用的客户,都会被拒绝。表结构是示意。

  12. 文档存进表里,也能按路径查

    jsonb 以二进制分解存储,支持 GIN 索引。-> 取出 jsonb,->> 取出文本,@> 判断包含。

  13. 一条 CREATE EXTENSION,装上空间数据库

    扩展可以加入新类型、函数、运算符和索引方法。PostGIS 是其中最常见的例子之一。

  14. 每年一个大版本,每个支持五年

    小版本至少每三个月发布一次,只含修复,升级不需要导出导入。

  15. PostgreSQL 19 RC 1已于 2026-10-15 发布, 正式版计划 11 月 19 日

    截至 2026-10-30,当前最新的正式大版本仍是 18。日期以官方公告为准,可能顺延。

  16. 开源、可扩展、按年发布 升级前先看官方版本表和发布说明。

    起源于 1986 年的伯克利 POSTGRES 项目,1996 年更名 PostgreSQL,使用类似 BSD 的宽松许可。

用到的模板

每个模板都有单独的说明页:适合放什么内容、字数上限和示例代码。

更多示例

全部示例 →

由 PCafe 制作

想做一套这样的演示?

PCafe 让 AI 往设计好的模板里写内容,结果是一个能离线打开、能直接分发的 HTML 文件。