初次选用 PostgreSQL 的小伙伴们,会有不知道哪个版本适合自己的困惑。下面就至2025年2月之前的各个版本的重大变化做一下汇总,以便小伙伴选择恰好满足自身需求的版本。
PostgreSQL 是一个持续发展的开源数据库系统,每个新版本都会引入新功能、性能改进和修复。下面进一步介绍,并且最后给出 macOS 与已测试安装 PostgreSQL 对应关系(因为本人系统是 macOS)。
1. PostgreSQL 9.x 系列
(1) PostgreSQL 9.0(2010年)
- 主从复制(Streaming Replication):支持异步流复制,为高可用性奠定基础。
- 热备份(Hot Standby):从库可以用于只读查询。
- 64位 Windows 支持。
(2) PostgreSQL 9.1(2011年)
- 同步复制:确保主从数据一致性。
- 外部数据封装器(Foreign Data Wrapper, FDW):支持跨数据库查询。
- 列级权限控制。
(3) PostgreSQL 9.2(2012年)
- 级联复制:支持从库再复制到其他从库。
- JSON 数据类型:支持存储和查询 JSON 数据。
- 索引性能提升:改进 B-tree 和 GIN 索引。
(4) PostgreSQL 9.3(2013年)
- 物化视图(Materialized Views):支持缓存查询结果。
- JSON 操作增强:支持 JSON 函数和操作符。
- 并行 pg_dump:加快备份速度。
(5) PostgreSQL 9.4(2014年)
- JSONB 数据类型:支持二进制 JSON 存储和索引。
- 逻辑解码(Logical Decoding):支持逻辑复制和变更数据捕获(CDC)。
- 性能提升:GIN 索引优化。
(6) PostgreSQL 9.5(2016年)
- UPSERT 支持:INSERT ... ON CONFLICT 语法。
- 行级安全性(Row-Level Security, RLS):支持细粒度权限控制。
- BRIN 索引:适用于大范围数据的块范围索引。
(7) PostgreSQL 9.6(2016年)
- 并行查询:支持并行顺序扫描和聚合。
- 全文搜索增强:支持短语搜索。
- 性能提升:改进多核 CPU 利用率。
2. PostgreSQL 10.x 系列
(1) PostgreSQL 10(2017年)
- 逻辑复制:支持表级复制。
- 分区表(Declarative Partitioning):简化分区表管理。
- 改进并行查询:支持并行索引扫描和哈希连接。
3. PostgreSQL 11.x 系列
(1) PostgreSQL 11(2018年)
- 分区表增强:支持哈希分区和默认分区。
- 存储过程(PROCEDURE):支持事务控制的存储过程。
- 并行查询增强:支持并行索引创建和 UNION。
4. PostgreSQL 12.x 系列
(1) PostgreSQL 12(2019年)
- 性能提升:改进索引和查询性能。
- 生成列(Generated Columns):支持自动计算列。
- 分区表性能优化:提升分区表查询性能。
5. PostgreSQL 13.x 系列
(1) PostgreSQL 13(2020年)
- 索引和存储优化:减少 B-tree 索引膨胀。
- 并行 VACUUM:加快清理操作。
- 增量排序:优化排序性能。
6. PostgreSQL 14.x 系列
(1) PostgreSQL 14(2021年)
- 性能提升:改进并行查询和索引性能。
- JSONB 增强:支持 JSONB 下标操作。
- 逻辑复制增强:支持流式传输大型事务。
7. PostgreSQL 15.x 系列
(1) PostgreSQL 15(2022年)
- 性能提升:改进排序和压缩性能。
- 逻辑复制增强:支持行过滤和列过滤。
- MERGE 语句:支持类似 SQL 标准的 MERGE 语法。
8. PostgreSQL 16.x 系列
(1) PostgreSQL 16(2023年)
- 性能提升:改进并行查询和索引性能。
- 逻辑复制增强:支持双向复制。
- 安全性增强:支持更多加密选项。
10. 主要版本之间的核心区别总结
版本 | 发布时间 | 主要新特性 |
9.0 | 2010 | 主从复制、热备份 |
9.1 | 2011 | 同步复制、FDW |
9.2 | 2012 | JSON 支持、级联复制 |
9.3 | 2013 | 物化视图、JSON 增强 |
9.4 | 2014 | JSONB、逻辑解码 |
9.5 | 2016 | UPSERT、行级安全性 |
9.6 | 2016 | 并行查询、全文搜索增强 |
10 | 2017 | 逻辑复制、分区表 |
11 | 2018 | 分区表增强、存储过程 |
12 | 2019 | 生成列、分区表性能优化 |
13 | 2020 | 索引优化、并行 VACUUM |
14 | 2021 | JSONB 增强、逻辑复制增强 |
15 | 2022 | MERGE 语句、逻辑复制增强 |
16 | 2023 | 性能提升、双向逻辑复制 |
10. 下面为 macOS 不同平台与安装 Postgres 版本适用关系
Postgres Version | 64-bit macOS Platforms |
17 | 11.x (amd64), 12.x (arm64) |
16 | 11.x (amd64), 12.x (arm64) |
15 | 10.14 - 12.x (amd64), 12.x (arm64) |
14 | 10.14 - 12.x (amd64), 12.x (arm64) |
13 | 10.14 - 11.0 |
12 | 10.13 - 10.15 |
到这里,对与 PostgreSQL 相信你已经有了大致合适的版本选择。
我也是 PostgreSQL 的初学者,这也是我安装前选择安装适合我用系统环境的一个基本思考过程,先了解,后选择。