PostgreSQL 的故事始于 1986 年的加州大学伯克利分校。由数据库领域泰斗 Michael Stonebraker 教授领导的团队,在 DARPA(美国国防高级研究计划局)、陆军研究办公室、国家科学基金会等机构的资助下,启动了 POSTGRES 项目。
项目目标是开发一个超越当时传统数据库系统的下一代对象-关系型数据库,主要解决以下问题:
关键里程碑:
1994年,伯克利的研究生 Andrew Yu 和 Jolly Chen 为 POSTGRES 添加了 SQL 语言解释器,取代了原有的 PostQUEL 查询语言。这个新版本被命名为 Postgres95,并正式以开源形式发布到互联网。
Postgres95 的主要改进:
1996年,项目团队意识到 "Postgres95" 这个名称不足以体现其与原始 POSTGRES 项目和 SQL 能力的关联,于是正式更名为 PostgreSQL。版本号从 6.0 开始重新编号,以延续伯克利项目的序列。
版本演进的关键里程碑:
| 时期 | 版本 | 关键特性 |
|---|---|---|
| 奠基期 | 6.0-7.4 (1996-2003) | 外键约束、WAL预写日志、MVCC、模式支持、PL/pgSQL |
| 企业就绪期 | 8.0-8.4 (2005-2009) | 原生Windows支持、表空间、PITR、全文搜索、HOT技术 |
| 功能爆发期 | 9.0-9.6 (2010-2016) | 流复制、热备、JSON支持、逻辑复制、BRIN索引 |
| 成熟创新期 | 10-13 (2017-2020) | 原生分区表、并行查询、JIT编译、增量排序 |
| 现代增强期 | 14-18 (2021-至今) | JSON_TABLE、VACUUM优化、异步I/O、UUIDv7 |
根据 DB-Engines 2025年5月的排名,PostgreSQL 以 674.32分 位列全球数据库第四,月度得分逆势增长 7.07分,是前四名中唯一保持正增长的数据库。开发者社区规模已突破 100万人,全球有超过 50% 的国产数据库基于 PostgreSQL 二次开发。
PostgreSQL 采用 PostgreSQL 许可证,这是一种类似 BSD/MIT 的宽松开源许可证。这意味着:
PostgreSQL 完全符合 ACID 标准,确保事务处理的可靠性:
| 特性 | 说明 |
|---|---|
| 原子性 | 事务中的所有操作要么全部成功,要么全部失败 |
| 一致性 | 事务执行前后,数据库从一个有效状态转换到另一个有效状态 |
| 隔离性 | 使用 MVCC 实现,并发事务互不干扰 |
| 持久性 | 通过 WAL 预写日志确保系统故障后数据不丢失 |
PostgreSQL 以"可扩展性"著称,允许用户在几乎所有层面进行扩展:
可扩展的组件:
扩展生态系统:
PostgreSQL 支持远超传统关系型数据库的丰富数据类型:
基础类型:
高级类型:
PostgreSQL 通过 多版本并发控制(MVCC) 实现高效的并发处理:
MVCC 的核心机制:
优势:
WAL 预写日志:
复制与高可用:
备份能力:
PostgreSQL 拥有业界最高的 SQL 标准符合度之一:
支持的 SQL 特性:
| 对比维度 | PostgreSQL | MySQL |
|---|---|---|
| 开源协议 | PostgreSQL 许可证(BSD 风格),完全自由 | GPL + 商业许可证,Oracle 拥有商业版本 |
| ACID 合规 | 完全符合 ACID | 仅 InnoDB/NDB 存储引擎符合 |
| SQL 标准兼容 | 几乎完全符合 SQL 标准 | 部分兼容 |
| 并发控制 | MVCC,读写互不阻塞 | InnoDB 使用行锁和 MVCC |
| 数据类型 | 丰富(JSONB、数组、几何、范围等) | 基础类型为主 |
| 扩展性 | 高度可扩展(自定义类型、函数、索引) | 扩展能力有限 |
| 存储引擎 | 单一存储架构 | 多存储引擎(InnoDB、MyISAM 等) |
| 性能特点 | 复杂查询、分析场景优秀 | 简单读写、高并发场景优秀 |
| 复制 | 物理复制 + 逻辑复制 | 主从复制为主 |
| 适用场景 | 复杂业务、数据分析、地理信息 | Web 应用、互联网公司、快速原型 |
| 对比维度 | PostgreSQL | Oracle |
|---|---|---|
| 成本 | 免费开源 | 商业软件,高昂许可费用 |
| 供应商锁定 | 无锁定,可自由选择服务商 | 强供应商锁定 |
| 性能 | 优秀,适合大多数场景 | 极高,针对企业级负载优化 |
| 安全性 | 高级安全功能(RLS、SSL) | 业界顶级安全方案 |
| 高可用 | 流复制、Patroni、Pgpool | Data Guard、RAC |
| 可扩展性 | 水平扩展(Citus)、垂直扩展 | 垂直扩展为主 |
| 企业功能 | 功能完善,多数场景足够 | 极丰富的企业级功能集 |
| 市场份额 | 快速增长 | 稳居第一但增长乏力 |
| 适用场景 | Oracle 替代首选、金融、政府 | 大型企业、关键任务系统 |
| 对比维度 | PostgreSQL | SQL Server |
|---|---|---|
| 平台 | 全平台支持(Linux、Windows、macOS) | 主要优化 Windows 生态 |
| 成本 | 免费开源 | 需授权费用 |
| 生态集成 | 开放生态 | 与微软产品深度集成(Power BI、Azure) |
| 数据分析 | 功能完善,可扩展 | 内置强大 BI 功能 |
| 开源社区 | 全球社区,活跃度高 | 微软主导 |
| 云策略 | 多云友好 | 主打 Azure |
| 适用场景 | 开放技术栈、多云部署 | Windows 技术栈、微软生态企业 |
| 特性 | PostgreSQL | MySQL | Oracle | SQL Server |
|---|---|---|---|---|
| 开源 | ✅ 完全开源 | ⚠️ 开源+商业 | ❌ 商业 | ❌ 商业 |
| ACID 合规 | ✅ 完全 | ⚠️ 部分引擎 | ✅ 完全 | ✅ 完全 |
| SQL 标准 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 扩展性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 数据类型 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 成本 | 免费 | 免费/付费 | 极高 | 高 |
| 学习曲线 | 中陡 | 平缓 | 陡峭 | 中 |
| 社区/生态 | 活跃开源 | 非常活跃 | 企业支持 | 企业支持 |
| 性能-简单查询 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 性能-复杂查询 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 高并发 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
PostgreSQL 是目前增长最快的数据库之一,主要驱动力包括: