如一而致,久久归来,PG 17今年是第九个在九月份发布的版本。
| 版本 | 次版本 | 维护期 | 首发日期 | 结束日期 |
|---|---|---|---|---|
| 17 | 17.0 | Yes | 2024.9.26 | 2029.11.8 |
| 16 | 16.4 | Yes | 2023.9.14 | 2028.11.9 |
| 14 | 14.13 | Yes | 2021.9.30 | 2026.11.12 |
| 13 | 13.16 | Yes | 2020.9.24 | 2025.11.13 |
| 9.6 | 9.6.24 | No | 2016.9.29 | 2021.11.11 |
| 9.3 | 9.3.25 | No | 2013.9.9 | 2018.11.8 |
| 9.2 | 9.2.24 | No | 2012.9.10 | 2017.11.9 |
| 9.1 | 9.1.24 | No | 2011.9.12 | 2016.10.27 |
| 9.0 | 9.0.23 | No | 2010.9.20 | 2015.10.8 |
大家如果看了17的发布注记,可能会觉得就这… 就这…
貌似没有期待的一些亮眼特性:如64位事务号、回滚段、透明加密、原生高可用架构等。
话说并非社区缺乏进取心,一方面PG为爱而生至今功能已日臻完善。
本人参加工作最早是从9.0开始接触PG:当时备份恢复不支持并行,分区表使用继承,基于触发器路由数据,流复制也只支持异步方式。随着社区的全球顶尖开发者每年不断贡献新特性,而今许多特性都已在PG里实现,个别复杂特性除外。
或许大家可以从这本书里介绍的一百多个实践特性点得到一些释怀...
另外一方面是为PG内核提交特性的周期会比较长,即便作为核心贡献者的老法师都很难保持不惊波澜,万顷一碧的心境!提交人的忧乐自知感请看这篇文章:
PostgreSQL 17主要特性如下,本文链接的文章都经本人实测过。
针对大库只备份修改过的数据块:PostgreSQL 17增量备份
不依赖操作系统的内置排序方案:PostgreSQL 17原厂locale来了
发布订阅高可用故障转移:逻辑复制槽支持主从同步切换
vacuum内存管理彻底改进:PostgreSQL 17 vacuum功能增强
BRIN索引支持并行创建:PostgreSQL 17并行特性更新
GiST和SP-GiST索引支持增量排序:PostgreSQL 17增量排序
包括:
流式I/O和多块读API:io_combine_limit参数
范围类型操作符函数转化为边界值直接比较
IN长查询减少了索引重复叶子节点访问
CTE可利用自身的统计信息和排序顺序
IS NOT NULL和IS NULL冗余消除
IS [NOT] UNKNOWN分区裁剪
子查询执行计划节点输出优化
Group By多列自适应重排
Union可使用MergeAppend算子
带互斥条件的表访问优化
表元组估算考虑填充因子的影响
针对uuid数组优化uuid_out()函数
libpq接口增强:修改密码、关闭资源、不阻塞取消查询、异步管道、Direct SSL等
这几个扩展接口功能也让人耳目一新:
钩子函数及自定义注入点:injection_points
事务号内燃卡路里:xid_wraparound
SELECT txid_current() ;
txid_current
-----------------
1346
(1 row)
SELECT consume_xids(100_000_000);
更友好展示默认权限:默认权限"无法选中"?
pg_dump文件过滤:可按白名单或黑名单对不同的对象过滤
pg_restore事务控制、并行加速、文件过滤
reindexdb支持多表多索引并行
pg_createsubscriber转变物理从库为逻辑从库
该工具优势在于表初始数据copy超快,简化了高可用架构与大版本升级的管理负担,搭配pg_upgrade原地升级极佳。
ALTER TABLE ... SPLIT PARTITION ...
ALTER TABLE ... MERGE PARTITION ...
Oracle使用分区切割时,支持切割使用原分区名称,17 Beta3测试切割分区时也兼容这个细节:
ALTER TABLE sales SPLIT PARTITION sales_maximize INTO (
PARTITION sales_20240731
FOR VALUES FROM (date'2024-05-11') TO (date'2024-08-01'),
PARTITION sales_maximize
FOR VALUES FROM (date'2024-08-01') TO (MAXVALUE));
不过在正式发布时,分区表的这两个新功能被回退,主要是受CVE-2014-0062安全漏洞的影响,社区秉承一贯严谨的作风立即回退了这一亮点特性。
感谢PG社区全球的开发者, 让我们可以享受大象带来的快乐!
如果用传说品质来形容Oracle数据库(23AI确实震撼),而PG数据库可堪称史诗级巨作,每年的版本新特性都是法师们用灵力浇灌的契约之作,即便最后一刻被回退,依然会再次重塑归来。
原文作者:象楚之行;如有侵权,请联系管理员删除。