强曰为道

与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

PostgreSQL 完全指南

PostgreSQL 完全指南

“The world’s most advanced open source database.”

PostgreSQL(简称 PG)是一款拥有超过 35 年历史的对象-关系型数据库管理系统,以其可靠性(Reliability)、**功能丰富性(Feature Robustness)性能(Performance)**闻名于世。本教程从基础到高级,系统性地覆盖 PostgreSQL 的方方面面,适合初学者入门,也适合有经验的 DBA 进阶。


教程结构

本教程共 23 章,按照由浅入深的顺序编排:

第一部分:入门基础

章节标题核心内容
01简介PG 历史、特性优势、适用场景、与 MySQL 对比
02安装部署各平台安装、Docker 快速启动、初始化配置
03架构原理进程模型、MVCC、WAL、Shared Buffers
04SQL 基础DDL、DML、DQL、数据类型

第二部分:核心能力

章节标题核心内容
05SQL 进阶CTE、窗口函数、LATERAL、JSON/JSONB
06数据类型详解SERIAL vs IDENTITY、数组、Range、自定义类型
07索引详解B-Tree、Hash、GiST、GIN、BRIN、部分索引
08查询优化EXPLAIN ANALYZE、统计信息、并行查询
09表设计范式、继承、分区表、表空间
10事务与锁ACID、隔离级别、MVCC、SSI、死锁处理

第三部分:高级特性

章节标题核心内容
11函数与过程PL/pgSQL、触发器、事件触发器
12复制机制流复制、逻辑复制、发布订阅
13备份恢复pg_dump、pg_basebackup、WAL 归档、PITR
14安全加固权限系统、RLS、加密、审计、SQL 注入防护
15监控诊断pg_stat、pg_stat_statements、Prometheus
16高可用架构Patroni、pgpool-II、PgBouncer、读写分离
17扩展生态PostGIS、pg_trgm、pgcrypto、FDW

第四部分:工程实践

章节标题核心内容
18容器化部署Docker、Docker Compose、K8s StatefulSet
19数据迁移版本升级、Oracle→PG、pgloader
20性能测试pgbench、压测方法论、连接池对比
21排错指南常见错误、连接问题、锁、WAL 堆积
22最佳实践连接池、SQL 规范、VACUUM 策略
23实战场景时序数据、地理数据、全文搜索、多租户

环境要求

在开始之前,请确保你的开发环境满足以下条件:

软件最低版本推荐版本
PostgreSQL1417
Docker20.1026.x
操作系统Ubuntu 20.04 / CentOS 7Ubuntu 22.04 / Debian 12

速查:常用命令

-- 启动 / 停止
pg_ctlcluster 17 main start
pg_ctlcluster 17 main stop

-- 连接数据库
psql -U postgres -d mydb

-- 查看版本
SELECT version();

-- 列出所有数据库
\l

-- 切换数据库
\c mydb

-- 列出当前库所有表
\dt

-- 查看表结构
\d+ tablename

约定符号

符号含义
⚠️注意事项 / 潜在风险
💡技巧 / 最佳实践
🔧需要动手操作
📌重要概念 / 必须记忆

💡 学习建议:建议按章节顺序阅读,每章结尾的"业务场景"和"扩展阅读"可帮助加深理解。遇到不懂的概念可以先记下,后续章节会反复用到。