Skip to content

PostgreSQL

如果说 MySQL 是互联网的标配,那 PostgreSQL 就是那个「功能丰富度远超你想象」的选择。

PostgreSQL 不仅是关系型数据库,它还支持 JSON/JSONB、地理空间数据、全文检索、窗口函数、CTE 递归查询——几乎涵盖了所有高级特性。


模块内容

PostgreSQL 基础

从整体架构入手,理解 PostgreSQL 的设计哲学。

MVCC 与事务

PostgreSQL 的 MVCC 实现与 MySQL 有本质区别。

索引

PostgreSQL 的索引类型远多于 MySQL。

性能优化

PostgreSQL 的性能调优有自己的一套方法论。

高级特性

PostgreSQL 藏着大量高级特性。

高可用与扩展

企业级 PostgreSQL 必须面对的问题。


MySQL vs PostgreSQL 对比速查

特性MySQLPostgreSQL
事务隔离级别4 种(默认 RR)4 种(默认 RC)
MVCCundo log + ReadViewtuple + xmin/xmax + VACUUM
索引类型B-Tree、Hash、全文、R-TreeB-Tree、Hash、GIN、GiST、BRIN 等
JSON 支持JSON 函数,较弱JSONB,强大且可建索引
地理空间MyISAM 阶段强,InnoDB 弱PostGIS 扩展,业界最强
CTAS 支持支持支持,更丰富
窗口函数MySQL 8.0+ 支持原生支持
分区表分区较少分区类型丰富(Range/List/Hash)
扩展性插件较少扩展极强(PostGIS、pgvector 等)

留给你的问题

PostgreSQL 的 VACUUM 机制是用来干什么的?为什么 MySQL 不需要类似的功能?

这个问题的答案,藏在两种数据库 MVCC 实现机制的根本差异里。

基于 VitePress 构建