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

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
04 SQL 基础 DDL、DML、DQL、数据类型

第二部分:核心能力

章节 标题 核心内容
05 SQL 进阶 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 实战场景 时序数据、地理数据、全文搜索、多租户

环境要求

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

软件 最低版本 推荐版本
PostgreSQL 14 17
Docker 20.10 26.x
操作系统 Ubuntu 20.04 / CentOS 7 Ubuntu 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

约定符号

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

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