PostgreSQL 学习资料大全:从入门到精通

PostgreSQL 学习资料大全:从入门到精通


一、学习路线图总览

复制代码
[入门] 基础概念 / 安装 / 基础 SQL / CRUD
   │
   ▼
[进阶] 复杂查询 / 事务 / 索引 / 约束 / JSONB
   │
   ▼
[高级] 执行计划优化 / 窗口函数 / CTE / 分区 / 备份恢复 / 复制
   │
   ▼
[精通] MVCC 原理 / 高可用架构 / 连接池 / 监控 / 扩展 / 源码级调优

四个阶段对应能力目标:

阶段 核心能力 标志性关键词
入门 装好环境、写基础 SQL、能建表增删改查 psql、CREATE TABLE、SELECT、INSERT
进阶 复杂查询、事务控制、索引与约束设计 JOIN、CTE、Window Function、INDEX、JSONB、TRANSACTION
高级 性能优化、分区、备份恢复、主从复制 EXPLAIN、Partitioning、pg_dump、Streaming Replication
精通 内核原理、高可用、监控、扩展生态 MVCC、WAL、Patroni、PgBouncer、PostGIS

复制代码
编程资源
https://pan.quark.cn/s/7f7c83756948
更多资源
https://pan.quark.cn/s/bda57957c548

二、阶段一:入门(建议 7--10 天)

学习目标

  • 理解什么是关系型数据库 / ORDBMS
  • 在本地装好 PostgreSQL 并连接
  • 掌握基础 SQL:建库建表、增删改查

必学知识点

  • 基础概念:数据库、模式(Schema)、表、行、列、主键、数据类型
  • 环境搭建 :
    • 官方一键安装包(Windows / macOS):https://www.postgresql.org/download/
    • 容器方式:docker run --name pg -e POSTGRES_PASSWORD=xxx -p 5432:5432 -d postgres
    • 客户端:psql(命令行)、pgAdmin(图形化)、DBeaver
  • 基础 SQL :
    • SELECT / WHERE / ORDER BY / LIMIT / OFFSET / DISTINCT
    • INSERT / UPDATE / DELETE
    • 创建对象:CREATE DATABASE / CREATE TABLE
  • 常用数据类型 :INT、BIGINT、NUMERIC、VARCHAR、TEXT、BOOLEAN、DATE、TIMESTAMP、JSONB

推荐资源


三、阶段二:进阶(建议 10--15 天)

学习目标

  • 能独立编写复杂查询,应对业务需求
  • 理解事务与并发基础
  • 掌握索引、约束、JSONB 等 PostgreSQL 特色能力

必学知识点

  • 聚合与分组 :COUNT/SUM/AVG/MAX/MIN、GROUP BY、HAVING
  • 多表查询(重点) :
    • INNER JOIN / LEFT JOIN / RIGHT JOIN / FULL OUTER JOIN
    • CROSS JOIN / SELF JOIN
  • 子查询 :WHERE 子查询、FROM 子查询、EXISTS
  • 集合操作 :UNION / UNION ALL / INTERSECT / EXCEPT
  • 窗口函数(PostgreSQL 强项) :
    • 排序类:ROW_NUMBER()、RANK()、DENSE_RANK()
    • 聚合窗口:SUM() OVER、AVG() OVER
    • 偏移类:LAG()、LEAD()、FIRST_VALUE()、LAST_VALUE()
  • CTE 通用表表达式 :WITH 语句、递归 CTE
  • 事务与并发 :BEGIN / COMMIT / ROLLBACK、ACID、隔离级别
  • 约束 :主键、外键、唯一、检查(CHECK)、非空
  • 视图与物化视图 :CREATE VIEW / CREATE MATERIALIZED VIEW
  • JSONB :JSON vs JSONB、增删改查、-> / ->> / #> 操作符、GIN 索引
  • 常用函数 :字符串、日期时间(NOW()、DATE_TRUNC()、EXTRACT())、数学、条件函数(CASE WHEN、COALESCE、NULLIF)

推荐资源


四、阶段三:高级(建议 15--20 天)

学习目标

  • 能定位并优化慢查询
  • 掌握备份恢复、复制、分区等生产级能力

必学知识点

  • 查询优化与执行计划 :
    • EXPLAIN / EXPLAIN ANALYZE 解读
    • 顺序扫描 vs 索引扫描、连接算法(Nested Loop / Hash Join / Merge Join)
    • 统计信息:ANALYZE、 planner 成本参数
  • 高级索引 :
    • B-tree(默认)、GIN(全文检索 / JSONB)、GiST、BRIN、Partial Index、Covering Index(INCLUDE)
    • 多列索引与最左前缀原则
  • 表分区 :Range / List / Hash 分区,PARTITION BY
  • 存储过程与函数 :PL/pgSQL、触发器(TRIGGER)、FUNCTION / PROCEDURE
  • 备份与恢复 :
    • 逻辑备份:pg_dump / pg_dumpall / pg_restore
    • 物理备份:pg_basebackup、WAL 归档
    • 时间点恢复(PITR)
  • 复制 :
    • 流复制(Streaming Replication)、物理 / 逻辑复制
    • 读写分离、延迟副本
  • ** vacuum 机制**:VACUUM / ANALYZE、表膨胀、autovacuum 调优
  • 安全与权限 :角色(Role)、GRANT / REVOKE、行级安全(RLS)

推荐资源


五、阶段四:精通 / 专家(长期)

学习目标

  • 理解内核原理,能做架构设计与深度调优
  • 搭建高可用、可监控的生产集群

必学知识点

  • 内核原理 :
    • MVCC(多版本并发控制)、事务 ID 回卷
    • WAL(Write-Ahead Logging)、检查点(Checkpoint)
    • 缓冲区管理、共享内存、锁机制(表锁 / 行锁 / 死锁)
  • 高可用与集群 :
    • Patroni + etcd / Consul(自动故障切换)
    • Pgpool-II / repmgr
    • 负载均衡与连接池:PgBouncer(推荐,减少连接开销)
  • 监控与诊断 :
    • pg_stat_activity、pg_stat_statements、pg_stat_user_tables
    • 监控工具:Prometheus + Grafana、pgAdmin Dashboard
    • 压测:pgbench
  • 扩展生态(Extension) :
    • PostGIS(地理空间)、pg_stat_statements(统计)、pg_trgm(模糊搜索)
    • 全文检索、FDW(外部数据包装器)
  • 配置调优 :shared_buffers、work_mem、maintenance_work_mem、effective_cache_size、max_connections
  • 升级与迁移 :大版本升级(pg_upgrade)、从 MySQL / Oracle 迁移
  • 源码级(可选):C 语言基础 + 源码阅读,深入存储引擎与执行器

推荐资源

  • ⭐ 《PostgreSQL 14 Internals》(Egor Rogov)------ 内核原理必读
  • 《Mastering PostgreSQL 17》(Hans-Jürgen Schönig)------ 高级部署与优化
  • 《The Art of PostgreSQL》(Dimitri Fontaine)------ SQL 思维与数据建模
  • 《PostgreSQL 16 Administration Cookbook》------ 运维手册式菜谱
  • Cybertec 博客:https://www.cybertec-postgresql.com/en/blog/
  • 中国 PostgreSQL 分会培训(PGCA / PCE / PCM 认证):http://www.postgresqlchina.com/

六、推荐书籍清单(按阶段选读)

书名 作者 定位 适合阶段
PostgreSQL 即学即用(PostgreSQL: Up and Running) Regina Obe & Leo Hsu 快速上手 + 管理入门 入门
Learn PostgreSQL(2nd Edition) Luca Ferrari & Enrico Pirozzi 端到端系统入门 入门→进阶
PostgreSQL 修炼之道:从小工到专家 唐成 国内运维实战口碑书 进阶→高级
PostgreSQL 14 Internals Egor Rogov 存储与执行引擎内核 精通
Mastering PostgreSQL 17 Hans-Jürgen Schönig 高级部署 / 优化 / 安全 高级→精通
The Art of PostgreSQL Dimitri Fontaine SQL 思维与建模 进阶→精通
PostgreSQL 16 Administration Cookbook Gianni Ciolli 等 运维菜谱式手册 高级
PostgreSQL Query Optimization Henrietta Dombrovskaya 等 查询优化专题 高级
PostgreSQL Mistakes and How to Avoid Them Jimmy Angelakos 避坑指南(2025 新版) 全阶段

官方「Books」页面(持续更新):https://www.postgresql.org/docs/books/


七、在线教程 / 练习 / 社区

教程与文档

交互式练习

社区与答疑

  • 官方邮件列表:https://www.postgresql.org/list/
  • Stack Overflow(标签 postgresql)
  • 知乎 / CSDN / 博客园 PostgreSQL 专栏
  • 中国 PostgreSQL 分会社区

八、高效学习建议

  1. 边学边练:装好本地环境或 Docker,每个知识点都亲手敲一遍 SQL。
  2. 官方文档优先:遇到问题先查官方文档,再搜博客;文档是最终真相来源。
  3. 用 EXPLAIN 倒逼成长 :写任何查询都试着 EXPLAIN ANALYZE 一下,理解执行计划。
  4. 找一个数据集练手:比如导入一个开源项目的示例库,从简单查询逐步尝试高级功能。
  5. 版本意识:PostgreSQL 演进快,尽量看与所用版本匹配的教材/文档版本。
  6. 由浅入深别跳级:先能吃透进阶的窗口函数与 CTE,再碰内核原理,避免劝退。
  7. 考虑认证路线:PGCA(初级)→ PCE(工程师)→ PCM(大师),体系化检验水平。

九、附:30 天速成计划(参考)

周次 重点 产出
第 1 周 安装 + 基础 SQL + 数据类型 能在 psql 中建库建表并 CRUD
第 2 周 JOIN / 子查询 / 聚合 / 窗口函数 / CTE 能写复杂报表查询
第 3 周 事务 / 索引 / 约束 / JSONB / 视图 能设计合理表结构与索引
第 4 周 EXPLAIN 优化 / 备份恢复 / 复制 / 分区 能定位慢查询、做备份与读写分离
复制代码
编程资源
https://pan.quark.cn/s/7f7c83756948
更多资源
https://pan.quark.cn/s/bda57957c548
相关推荐
Wang's Blog6 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
Elastic 中国社区官方博客6 小时前
将你自己的密钥用于现有 Elastic Cloud 部署
大数据·数据库·elasticsearch·全文检索
红海云6 小时前
Jev:给智能系统做判断的模型
大数据·数据库·人工智能
wjkjpcba7 小时前
PCBA烧录程序是什么:PCBA包工包料厂家解析烧录与测试
linux·数据库·人工智能·smt贴片加工·pcba贴片加工厂
꯭自꯭闭꯭7 小时前
达梦事物特性及MVCC
linux·运维·数据库
\光辉岁月/7 小时前
5.java-数组
java·开发语言
小马同学-7 小时前
MySQL主从复制和读写分离
数据库·mysql
谢亮_vipxieliang7 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
郑州光合科技余经理8 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
2601_962071578 小时前
类变量和全局变量的生命周期有什么区别?
java·开发语言·jvm