PostgreSQL 教程

本教程是 PostgreSQL 的完整 13 篇入门系列,面向已了解基本编程概念、但没接触过 Postgres 的开发者。从安装、SQL 基础一路讲到 JSONB、索引、事务、MVCC、窗口函数与 CTE,每一篇都配有可运行的 SQL 示例。

PostgreSQL 常被称作"开源关系数据库的天花板":它严格遵守 SQL 标准、数据类型极其丰富、事务可靠到金融级,还内置 JSON / 全文搜索 / 地理 / 数组等能力。把它学会,你不仅能写出更稳的后端代码,还能真正理解数据库在替你做什么。

先看一段 Postgres 代码

下面这段 SQL 浓缩了 Postgres 最迷人的几个特性——自增主键、约束、JSONB 与包含查询:

-- 1. 建表
CREATE TABLE users (
    id    SERIAL PRIMARY KEY,
    name  TEXT NOT NULL,
    data  JSONB
);

-- 2. 插入
INSERT INTO users (name, data)
VALUES ('小明', '{"role":"admin","tags":["a","b"]}');

-- 3. 查询(JSONB 包含匹配,可命中 GIN 索引)
SELECT name FROM users
WHERE data @> '"role":"admin"';
--  name  |  小明

全部 13 篇子教程

建议按顺序学习,每天 1~2 篇,两周即可入门并具备生产环境使用能力。

  1. PostgreSQL 简介 — 历史、特点与应用场景
  2. PostgreSQL 安装与 psql — brew/apt、集群、psql 命令
  3. PostgreSQL SQL 语法基础 — 语句结构、执行顺序、注释
  4. PostgreSQL 数据类型 — 数值、文本、时间、数组、枚举、UUID
  5. PostgreSQL DDL — CREATE / ALTER / DROP 与约束
  6. PostgreSQL DML — INSERT / UPDATE / DELETE / UPSERT
  7. PostgreSQL SELECT 与 JOIN — 过滤、聚合、四种 JOIN
  8. PostgreSQL 函数与运算符 — 字符串、日期、聚合、COALESCE
  9. PostgreSQL JSONB — 文档存储、操作符、GIN 索引(重点)
  10. PostgreSQL 索引 — B-tree、GIN、GiST、BRIN、部分索引
  11. PostgreSQL 事务与 MVCC — ACID、隔离级别、死锁
  12. PostgreSQL 高级查询 — 窗口函数、CTE、递归查询

推荐学习路径

如果你是零基础,建议按下面 4 个阶段推进:

每篇都建议你边读边敲:把示例 SQL 在本地 psql 里跑一遍,改一改数据看输出是否和预期一致。SQL 是"手艺活",光看不练记不住。

开始学习

准备好了吗?从第一篇开始 → PostgreSQL 简介

✈️💬