受欢迎的开源关系型数据库 PostgreSQL 16第一个Beta测试版本已发布,这个新版本新增许多重要改进,包括效能、开发者体验和安全性提升。
PostgreSQL 16深度最佳化平行查询功能,扩展平行操作支援更多类型的聚合函式,进而使SELECT DISTINCT查询能够利用增量排序。这个版本窗查询(Window Query)也经过调整,进一步提高RANGE和LIST分区查询的效率,并且针对RIGHT和OUTER查询添加Anti-Joins支援。
COPY指令的资料并行批次载入效能提升300%,且因为PostgreSQL 16同时对x86和Arm架构加入SIMD技术支援,因而加速ASCII和字串,以及对阵列和子交易搜寻的最佳化。此外,PostgreSQL 16的客户端函式库libpq加入负载平衡功能,有助于分散查询压力。
官方强化了PostgreSQL 16的逻辑复写功能,所谓的逻辑复写是一种资料库复制技术,可以在不同的资料库之间复制资料,而PostgreSQL的逻辑复写可以即时串流资料到其他PostgreSQL或是有实作逻辑复写协定的外部系统。在PostgreSQL 16之前,用户只能在主要的执行个体上,创建逻辑复写发布者,而在PostgreSQL 16,增加了在备用执行个体进行逻辑解码的能力,提供用户更具弹性的工作负载平衡选项。
对开发者来说,PostgreSQL持续改进SQL/JSON标准支援,强化JSON操作能力,这个版本添加SQL标准ANY_VALUE聚合函式,可以回传聚合集中的任意值。另外,PostgreSQL 16供用户指定非十进位整数文字,像是0xff、0o777和0b101010,并可以使用下底线作为千分位分隔符号,例如5_432。
在安全性方面,PostgreSQL 16增加了一些预定义角色,诸如pg_maintain和pg_create_subscription,这些角色拥有权限执行特殊操作,不再需要超级使用者权限,因此权限管理将更加细致,增加系统安全性。另一个权限细化的改进,是逻辑复写的订阅者,能以表格拥有者权限执行交易,因此不再需要超级使用者权限。
文章来源:https://ithome.com.tw/news/157090