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 篇,两周即可入门并具备生产环境使用能力。
- PostgreSQL 简介 — 历史、特点与应用场景
- PostgreSQL 安装与 psql — brew/apt、集群、psql 命令
- PostgreSQL SQL 语法基础 — 语句结构、执行顺序、注释
- PostgreSQL 数据类型 — 数值、文本、时间、数组、枚举、UUID
- PostgreSQL DDL — CREATE / ALTER / DROP 与约束
- PostgreSQL DML — INSERT / UPDATE / DELETE / UPSERT
- PostgreSQL SELECT 与 JOIN — 过滤、聚合、四种 JOIN
- PostgreSQL 函数与运算符 — 字符串、日期、聚合、COALESCE
- PostgreSQL JSONB — 文档存储、操作符、GIN 索引(重点)
- PostgreSQL 索引 — B-tree、GIN、GiST、BRIN、部分索引
- PostgreSQL 事务与 MVCC — ACID、隔离级别、死锁
- PostgreSQL 高级查询 — 窗口函数、CTE、递归查询
推荐学习路径
如果你是零基础,建议按下面 4 个阶段推进:
- 阶段 1 打地基:简介 → 安装与 psql → SQL 语法 → 数据类型。先能在本地跑起来 SQL,理解表是什么。
- 阶段 2 增删改查:DDL → DML → SELECT 与 JOIN。学会创建表、写入数据、查询数据。
- 阶段 3 进阶能力:函数 → JSONB → 索引。掌握 Postgres 区别于 MySQL 的杀手锏。
- 阶段 4 工程化:事务与 MVCC → 高级查询。理解数据库的可靠性保证和分析能力。
每篇都建议你边读边敲:把示例 SQL 在本地 psql 里跑一遍,改一改数据看输出是否和预期一致。SQL 是"手艺活",光看不练记不住。
开始学习
准备好了吗?从第一篇开始 → PostgreSQL 简介