PostgreSQL 实战指南
High Contrast
Dark Mode
Light Mode
Sepia
Forest
6 min read1,106 words

PostgreSQL 实战指南

PostgreSQL Mastery: Database Design, Query Optimization, and Production Operations

你已经能写 SELECT * FROM users WHERE id = 1。但当数据量到百万行时查询开始变慢,你不知道该加什么索引;Schema 越来越乱,字段类型靠直觉选;遇到生产环境的慢查询,只会加索引但看不懂 EXPLAIN;想给运行中的大表加列,不知道会不会锁表……

这本书解决这些问题。

PostgreSQL 不只是"另一个关系数据库"。它有 JSONB、全文搜索、pgvector 向量检索、强大的窗口函数、MVCC 并发控制——这些功能让许多人原本需要额外引入 MongoDB、Elasticsearch、向量数据库、分析数据库的场景,在 PostgreSQL 一个系统里就能解决。


你会学到什么

数据库能力成长路径:
能写 CRUD                    生产级数据库工程师
(会 SELECT/INSERT)  ───────→  (Schema 设计 + 查询优化 + 运维管理)
本书带你走完
这段路程

本书章节

章节 主题 核心问题
第 01 章 安装与基础配置 怎样快速搭建可用的 PostgreSQL 环境?psql 怎么用?
第 02 章 Schema 设计 PostgreSQL 有哪些特有类型?Schema 怎么设计才规范?
第 03 章 索引与优化 什么时候需要索引?如何用 EXPLAIN ANALYZE 定位慢查询?
第 04 章 复杂查询 CTE 和窗口函数能解决哪些 JOIN 解决不了的问题?
第 05 章 JSONB 什么时候用 JSONB?如何高效查询 JSON 数据?
第 06 章 事务与并发 什么是 MVCC?如何避免死锁?长事务有什么危险?
第 07 章 搜索与向量 怎样用 PostgreSQL 做全文搜索?pgvector 怎么用?
第 08 章 备份与高可用 pg_dump 和 pg_basebackup 有什么区别?主从怎么配?
第 09 章 性能与监控 pgBouncer 解决什么问题?哪些 postgresql.conf 参数值得调?
第 10 章 生产迁移 如何不停机地给大表加列或建索引?Migration 最佳实践?

技术前提

建议掌握的基础:
✅ 基本 SQL(SELECT、INSERT、UPDATE、DELETE、JOIN)
✅ 任意一门编程语言(Python/Node.js/Go 均可)
✅ 基本的命令行操作(SSH、文件权限)
不需要:
❌ 不需要 DBA 专业背景
❌ 不需要了解 MySQL/Oracle 的内部机制
❌ 不需要提前了解 PostgreSQL

PostgreSQL vs MySQL 速查对比

本书全程提供与 MySQL 的对比,方便从 MySQL 迁移的读者快速找到等价概念:

功能 PostgreSQL MySQL
自增主键 SERIAL / BIGSERIAL / GENERATED ALWAYS AS IDENTITY AUTO_INCREMENT
JSON 支持 JSONB(二进制存储,可索引) JSON(文本存储,功能较弱)
全文搜索 内置 tsvector / tsquery 有限的 FULLTEXT INDEX
数组类型 原生支持 INTEGER[]TEXT[] 不支持(需 JSON 模拟)
事务隔离 支持 SERIALIZABLE 支持但实现有差异
物化视图 支持 MATERIALIZED VIEW 不支持
扩展插件 丰富(pgvector、pg_jieba、PostGIS...) 有限

相关书系


开始第一章:安装与环境搭建