posts

PostgreSQL 专题:从核心架构到生产高可用的完整数据库实践

PostgreSQL 是当前最先进的开源关系型数据库,以功能全面、扩展性极强和 SQL 标准兼容性最高著称。本专题系统覆盖 PostgreSQL 核心架构(MVCC 多版本并发控制/WAL 预写日志/B-tree/GiST/GIN/BRIN 索引家族)、与 MySQL/MongoDB 的 12 维度选型对比、Docker 生产级部署与 PgBouncer 连接池、SQL 进阶查询(窗口函数/CTE 递归/JSONB/LATERAL JOIN)、Prisma ORM 类型安全数据层开发、EXPLAIN 执行计划分析与 VACUUM 维护优化、Patroni + etcd 高可用自动故障转移、RLS 行级安全与 TLS/审计安全加固,以及 pgvector 向量检索、PostGIS 地理空间、TimescaleDB 时序超表和 Citus 分布式横向扩展等生态工具;并深入索引类型选型与组合索引、VACUUM 表膨胀治理、事务隔离级别与锁、逻辑复制与 CDC、JSONB 文档性能优化和监控诊断告警体系等生产级主题;同时进阶覆盖备份恢复与 PITR、PL/pgSQL 存储过程与触发器、全文搜索、数据库 schema 设计规范、从 MySQL/MongoDB 的数据迁移,以及云托管与 Serverless 选型,为后端开发者与 DBA 提供从入门到企业级生产的完整指南。并进一步覆盖 CTE 与递归查询、数据类型深入(数组/范围/复合/枚举/hstore)、时序数据工作负载(BRIN/分区/TimescaleDB)、PostGIS 地理空间、LISTEN/NOTIFY 异步消息与大版本升级(pg_upgrade/逻辑复制)。并补齐表分区策略、并行查询与执行器、Citus 分布式分片、pgvector 向量检索、COPY 批量加载、锁与阻塞分析等进阶议题。

PostgreSQL 诞生于 1986 年的加州大学伯克利分校 POSTGRES 项目,1996 年以开源形式重新命名为 PostgreSQL,如今已成为世界上功能最丰富、扩展性最强的开源关系型数据库。从 JSONB 原生文档存储到地理空间扩展 PostGIS、从向量索引 pgvector 到时序数据库 TimescaleDB——PostgreSQL 以其出色的可扩展性,在单一引擎中融合了关系型、文档型、图型、地理空间和向量检索的多重能力。

PostgreSQL 是当前最先进的开源关系型数据库,以功能全面、扩展性极强、标准兼容性最高著称。本专题按 “核心认知 → 选型决策 → 部署实践 → SQL 进阶 → ORM 开发 → 性能优化 → 高可用安全 → 扩展生态” 的路径,提供从开发环境到生产上线的完整工程化指南。


一、PostgreSQL 核心

建立对 PostgreSQL 架构的系统性认知:

二、选型对比

为具体项目选择正确的数据库:

三、部署实践

快速搭建和初始化 PostgreSQL:

四、SQL 进阶查询

掌握超越基础 CRUD 的高级查询能力:

五、ORM 类型安全开发

以 Prisma 为核心,类型安全地操作 PostgreSQL:

六、性能优化

生产环境的查询优化与调参:

七、高可用与灾难恢复

保障数据库 7×24 运行的架构方案:

八、安全与权限管理

生产环境的数据安全加固:

九、扩展生态

PostgreSQL 的扩展让一专多能成为现实:


十、进阶运维与设计

生产级数据库的另一半:恢复、过程化、搜索、设计与上云:

十一、查询表达、时序与空间扩展

进一步打通查询表达力、数据建模、专用工作负载与版本演进:

十二、运维自动化、写入优化与云原生扩展

补充生产环境的 Kubernetes 运维、写入优化与云原生实践:

补充文章

以下文章补充存储内部机制、崩溃恢复、外部数据源、C 扩展开发、基准测试与时区处理六个方向:

文章核心内容
PostgreSQL 存储内部:堆表页结构、TOAST 与空闲空间管理深入 PostgreSQL 物理存储层:数据目录与 relfilenode 命名、1GB 段文件切分、8KB 页的…
PostgreSQL WAL 与崩溃恢复内部机制拆解 PostgreSQL 预写日志与崩溃恢复:XLogRecord 与块引用结构、full_page_writes…
PostgreSQL 外部数据包装器(FDW)实战系统讲解 PostgreSQL FDW:fdw_handler 与 FdwRoutine 回调架构、postgres…
PostgreSQL C 扩展开发实战从零开发 PostgreSQL C 扩展:control 文件与版本化 SQL 脚本、PG_MODULE_MAGIC…
PostgreSQL 基准测试与压测方法论系统讲解 PostgreSQL 压测方法论:基准与负载与压力与稳定性四类测试的区别、pgbench 初始化与缩放因子…
PostgreSQL 时区与日期时间处理完全指南彻底讲清 PostgreSQL 的时区与日期时间:timestamp 与 timestamptz 的内部存储差异、T…

十四、关联专题

专题对应内容
Docker 专题PostgreSQL 容器化部署、PgBouncer
Node.js 专题Express/Nest.js + Prisma + PostgreSQL
Vercel 专题Serverless + Postgres 连接池、Edge 函数
TypeScript 专题TS + Prisma + PostgreSQL 类型安全
Cloudflare 专题D1 轻量替代 vs PostgreSQL 选型
全部文章 game Indie Java golang Books 客户端开发 Minigame Saas rust Python
database

Kubernetes 上 PostgreSQL 运维与 CloudNativePG 实战

深入讲解在 Kubernetes 上运维 PostgreSQL 的核心挑战与 CloudNativePG Operator 的实战方案。涵盖云原生数据库运维的关键痛点、CloudNativePG 架构设计、Cluster CRD 自定义资源定义、自动备份与基于 WAL 的时间点恢复(PITR)、Replica 管理与故障自动切换、storage 与 Secret 安全编排、滚动升级策略,以及 Patroni 与 Operator 模式对比。

6 分钟阅读
PostgreSQL Kubernetes Operator
database

PostgreSQL 统计信息与查询计划器:ANALYZE、pg_statistic 与代价模型

系统剖析 PostgreSQL 查询计划器的统计信息基础与代价估算模型。涵盖直方图与高频值(MCV)的采集原理、ANALYZE 手动触发与 autovacuum_analyze 自动维护机制、pg_stats 与 pg_statistic 系统目录的结构差异、数据倾斜导致的 Cost 偏差识别、扩展统计(多元统计与函数依赖统计)的创建与使用,以及 pg_hint_plan 扩展对执行计划的干预手段。

6 分钟阅读
PostgreSQL
database

云托管与 Serverless PostgreSQL:RDS/Aurora/Neon/Supabase 选型与实战

云托管把数据库运维外包,Serverless 把成本进一步弹性化。本文系统讲解云托管 PostgreSQL 的核心能力(高可用/备份/监控)、四大云方案对比(AWS RDS/Aurora、Neon、Supabase)、Serverless Postgres 的原理与适用场景、连接池与冷启动规避、数据导入与迁移、成本模型,以及自建 vs 云托管的决策框架。

6 分钟阅读
PostgreSQL Serverless NEON
database

PostgreSQL 数据库设计规范:范式、类型选择与迁移演进

好的 schema 设计决定一个系统未来十年好维护还是天天改表。本文系统讲解 PostgreSQL 表设计规范:主键策略(序列/UUID/snowflake)、字段命名与类型选择(数值/时间/JSONB/text)、范式与反范式权衡、外键与约束、索引与唯一性、时间戳与软删除、分表与分区,以及基于迁移工具(Alembic/Prisma)的 schema 演进流程。

6 分钟阅读
PostgreSQL Schema 设计
database

PostgreSQL 监控与诊断体系:pg_stat_activity、慢查询、pg_stat_statements 与 Prometheus 告警

构建完整的 PostgreSQL 监控与诊断体系:pg_stat_database 与 pg_stat_activity 关键指标解读、慢查询日志与 log_min_duration_statement、auto_explain 自动执行计划、pg_stat_statements 语句级统计、Prometheus + postgres_exporter + Grafana 仪表盘搭建、核心告警规则(连接数/复制延迟/死元组)、诊断常用 SQL 与常见问题定位方法论。

7 分钟阅读
PostgreSQL monitoring 可观测性
database

PostgreSQL JSONB 性能实战:二进制存储、GIN 索引、查询优化与文档工作负载建模

深入讲解 PostgreSQL JSONB 在文档工作负载下的性能实践:JSONB 二进制存储格式与 TOAST、GIN 倒排索引(jsonb_ops/jsonb_path_ops)与表达式索引、@> 包含与路径操作符查询优化、JSONB 与关系型建模的权衡、函数与操作符性能差异、大 JSON 文档的坑、与 MySQL JSON/MongoDB 的对比,以及真实调优案例。

8 分钟阅读
PostgreSQL JSON indexing
database

PostgreSQL 逻辑复制与 CDC:发布订阅、WAL 解码、零停机迁移与 Debezium/Kafka 集成

系统讲解 PostgreSQL 逻辑复制与变更数据捕获(CDC):逻辑复制原理与 WAL 解码(pgoutput/wal2json/decoderbufs)、发布订阅(CREATE PUBLICATION/SUBSCRIBE)配置、逻辑复制做故障切换与零停机迁移、初始同步机制、DDL 限制与数据冲突处理、与 Debezium/Kafka 的数据流集成、复制延迟监控与性能优化。

8 分钟阅读
PostgreSQL CDC pubsub
database

PostgreSQL 事务、隔离级别与锁:MVCC 快照、行锁/表锁、死锁检测与长事务治理

深入解析 PostgreSQL 事务体系:MVCC 快照与可见性规则、四种隔离级别(读已提交/可重复读/可串行化/SSI)的差异与异常、行锁与表锁的兼容矩阵、pg_locks 锁等待分析、死锁检测机制与避免策略、快照陈旧与长事务(idle in transaction)、事务重试与幂等设计、锁监控常用 SQL。

8 分钟阅读
PostgreSQL Isolation MVCC
database

PostgreSQL VACUUM 与表膨胀治理:MVCC 死元组、Autovacuum 调优与膨胀诊断

系统讲解 PostgreSQL 的 VACUUM 机制与表膨胀治理:MVCC 多版本并发控制如何产生死元组、VACUUM 与 AUTOVACUUM 的工作原理与触发条件、autovacuum 参数调优、表膨胀与索引膨胀诊断(pgstattuple/n_dead_tup)、手动 VACUUM FULL 与 CLUSTER、高频 UPDATE 场景的防膨胀设计,以及死元组监控与告警体系。

9 分钟阅读
PostgreSQL MVCC
database

PostgreSQL 索引类型深度实战:B-tree 原理、组合索引、GiST/GIN/BRIN 与索引维护

深入解析 PostgreSQL 全家族索引:B-tree 平衡树原理与索引高度、组合索引列顺序与最左前缀、跳跃扫描的真相、GiST 空间与范围检索、GIN 倒排索引(全文搜索/JSONB/数组)、BRIN 块范围索引、部分索引与表达式索引、覆盖索引 INCLUDE、索引膨胀诊断与并发重建。每个索引类型配真实 DDL、EXPLAIN 示例与选型决策表。

10 分钟阅读
PostgreSQL indexing gin