@@ -12,27 +12,28 @@ PostgreSQL , PolarDB , DuckDB , 新特性
12
12
----
13
13
14
14
## 背景
15
- PostgreSQL 17 到底值不值得期待? 看完这篇就明白了.
15
+ PostgreSQL 17 9.26 正式发布了, 到底值不值得期待? 看完这篇就明白了.
16
+ - 详见: https://www.postgresql.org/docs/17/release-17.html
16
17
17
- 由于保持了跟踪` git.postgresql.org ` 的习惯, 在我github里已经持续发表了PostgreSQL dev版本的新特性. 有兴趣的朋友可以关注github: https://github.com/digoal/blog/tree/master/202404
18
+ 由于保持了跟踪` git.postgresql.org ` 的习惯, 我在github里已经持续发表了PostgreSQL dev版本的新特性. 有兴趣的朋友可以关注github: https://github.com/digoal/blog/
18
19
19
- 这篇信息主要整理之前发布的内容, 来看看即将封版(不再接收新特性commit, 进入alpha,beta,release流程)的PostgreSQL 17到底值不值得期待? PostgreSQL 17新增特性如下:
20
+ 这篇信息主要整理自之前发布的内容, PostgreSQL 17新增特性如下:
20
21
21
- 1、支持块级别增量备份与恢复 : 对于特别大的库非常棒, 数据文件的备份终于不需要每次都全拷贝了, 可以只备份上次备份以来修改过的数据块.
22
+ 1、pg_basebackup支持块级别增量备份与恢复(通过pg_combinebackup重构) : 对于特别大的库非常棒, 数据文件的备份终于不需要每次都全拷贝了, 可以只备份上次备份以来修改过的数据块.
22
23
23
- 2、支持逻辑复制failover、switchover: 16支持了standby开启逻辑复制功能, 17的增强是在基于流复制的HA解决方案中支持了逻辑复制的failover(而且是0丢失的).
24
+ 2、支持逻辑复制failover、switchover: 16支持了standby开启逻辑复制功能, 17的增强是在基于流复制的HA解决方案中支持了逻辑复制的failover(而且是0丢失的). 同时17开始pg_upgrade大版本升级可以保留逻辑复制槽了.
24
25
25
26
3、支持COPY错误处理: 以前COPY遇到异常的行会报错退出, 现在支持了skip error row. 不过还有记录error row, 支持也是早晚的事.
26
27
27
28
4、JSON类型处理能力增强: 主要增强了jsonpath的功能, 总之使用PG处理JSON是很顺手的.
28
29
29
- 5、vacuum性能改进: 引入TidStore数据结构, 打破存储dead tupleids的上限(只要内存足够, 索引再也不需要被多次扫描), 并且大幅度提升vacuum了效率?
30
+ 5、vacuum性能改进: 引入TidStore数据结构, 打破存储dead tupleids的上限(只要内存足够, 索引再也不需要被多次扫描), 相比以往能节省20倍内存消耗, 并且大幅度提升vacuum了效率.
30
31
31
32
6、index 性能优化: 支持并行创建brin索引; gist/sp-gist索引支持增量排序场景; btree倒序增强等.
32
33
33
- 7、高并发锁竞争优化: 通过一系列wal锁优化, 提升高并发写入性能.
34
+ 7、高并发锁竞争优化: 通过一系列wal锁优化, 提升高并发写入性能, 可提升2倍性能 .
34
35
35
- 8、性能优化: 批量导入性能提升; merge append提升union性能; 通过增量排序提升group by性能; 减少分区表partitionwise join内存消耗; postgres_fdw 支持semi-join pushdown等;
36
+ 8、性能优化: 批量导入性能提升; merge append提升union性能; 通过增量排序提升group by性能; 减少分区表partitionwise join内存消耗; postgres_fdw 支持semi-join pushdown等; simd指令集支持了更多的用户函数支持, 使得大批量计算的性能更好.
36
37
37
38
9、新增GUC参数: 新增了一系列的GUC参数提升数据库管理灵活性.
38
39
@@ -50,10 +51,11 @@ PostgreSQL 17 到底值不值得期待? 看完这篇就明白了.
50
51
51
52
看完是不是有点失落? 为什么xid64、undo回滚段、TDE等万众期待的功能还是没有等来. 但17依旧是值得期待的版本, 毕竟块级增量备份和恢复、逻辑复制failover、垃圾回收性能改进(一定程度缓解了xid wrapped问题)、高并发性能提升都是不错的. 另外AM接口不断增强, 估计undo回滚段管理未来的版本也快来了.
52
53
53
- PS: 由于PG 17还没有GA, 中间可能会出现特性被打回的情况, 最终以GA后的release notes为准, 之前某个版本TDE就被打回了. 我就在4.12日看, 已经有大量AM的增强被打回了.
54
-
54
+
55
55
## 整理好的详细文档
56
56
全部是链接, 如果公众号打不开, 请点击阅读原文, 打开github.
57
+
58
+ PS: 由于以下文章整理自PG 17 GA之前, 中间可能出现了少量特性被打回的情况, 最终以GA后的release notes为准, 之前某个版本TDE就被打回了. 我就在4.12日看, 已经有大量AM的增强被打回了.
57
59
58
60
支持块级别增量备份与恢复:
59
61
- [ 《PostgreSQL 17 preview - 内置块级别物理增量备份(INCREMENTAL backup/pg_combinebackup)功能》] ( ../202312/20231222_01.md )
0 commit comments