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

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


一、学习路线图总览

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

四个阶段对应能力目标:

阶段 核心能力 标志性关键词
入门 装好环境、写基础 SQL、能建表增删改查 psqlCREATE TABLESELECTINSERT
进阶 复杂查询、事务控制、索引与约束设计 JOINCTEWindow FunctionINDEXJSONBTRANSACTION
高级 性能优化、分区、备份恢复、主从复制 EXPLAINPartitioningpg_dumpStreaming Replication
精通 内核原理、高可用、监控、扩展生态 MVCCWALPatroniPgBouncerPostGIS

复制代码
编程资源
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
  • 常用数据类型INTBIGINTNUMERICVARCHARTEXTBOOLEANDATETIMESTAMPJSONB

推荐资源


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

学习目标

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

必学知识点

  • 聚合与分组COUNT/SUM/AVG/MAX/MINGROUP BYHAVING
  • 多表查询(重点)
    • 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() OVERAVG() 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 WHENCOALESCENULLIF

推荐资源


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

学习目标

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

必学知识点

  • 查询优化与执行计划
    • EXPLAIN / EXPLAIN ANALYZE 解读
    • 顺序扫描 vs 索引扫描、连接算法(Nested Loop / Hash Join / Merge Join)
    • 统计信息:ANALYZE、 planner 成本参数
  • 高级索引
    • B-tree(默认)、GIN(全文检索 / JSONB)、GiSTBRINPartial IndexCovering IndexINCLUDE
    • 多列索引与最左前缀原则
  • 表分区 :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_activitypg_stat_statementspg_stat_user_tables
    • 监控工具:Prometheus + Grafana、pgAdmin Dashboard
    • 压测:pgbench
  • 扩展生态(Extension)
    • PostGIS(地理空间)、pg_stat_statements(统计)、pg_trgm(模糊搜索)
    • 全文检索、FDW(外部数据包装器)
  • 配置调优shared_bufferswork_memmaintenance_work_memeffective_cache_sizemax_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
相关推荐
倔强的石头_1 小时前
Spring Boot 接入金仓数据库:配置分层、启动自检与常见错误
数据库
黑桃小柒72 小时前
Django模型关系:从一对多到多对多全解析
数据库·django·sqlite
上海安当技术2 小时前
统一身份认证平台怎么落地?11 个异构业务系统接入 ASP 的完整实施路径
数据库·servlet·架构·kubernetes·jenkins
Zane19943 小时前
CAS 与原子类:Java 如何实现无锁编程
java·后端
TunerT_TQ3 小时前
【智能体安全治理|专栏第9期】从“一堆规则”到“数字宪法”:智能体治理的下一个阶段
java·开发语言·安全·开源治理·大模型安全·ai基础设施·智能体安全
在水一缸3 小时前
PGSimCity:当数据库内核变成一座可以漫步的城市
数据库·postgresql·可视化·开源项目·数据库内核·pgsimcity·技术科普
legendary_bruce3 小时前
RAG知识库进阶-1
java·aigc
必须会一定会3 小时前
大模型手搓文件对比工具(6):差异不用再手选
java·人工智能·ai编程
yio_yin3 小时前
MyBatis
java·前端·mybatis
jnrjian3 小时前
psql 执行多个 sql 文件
数据库·sql