PostgreSQL 15 新特性

PostgreSQL 15 新特性

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

PostgreSQL 15于2022年10月发布,新增更安全的权限模型、性能提升、MERGE操作、逻辑复制改进、并行查询执行、JSON日志输出和新的正则表达式函数。建议用户升级以提高稳定性和修复错误。

🔎

延伸解读

权限模型变更的迁移注意事项

PostgreSQL 15 撤销了所有用户(除数据库所有者外)的 CREATE 权限,使权限分配更可调。对于已迁移的数据库,需手动撤销公共模式上的 CREATE 权限以符合新策略。此外,新增的 CREATE VIEW .. WITH (security_invoker=on) 选项可让视图使用调用者而非创建者的权限访问底层表,避免无权限用户通过视图查看数据。

性能提升的实际影响

排序操作在 PostgreSQL 中频繁使用,不仅出现在 ORDER BY 子句,还用于索引创建、表分区等。版本 15 将内存和磁盘排序速度提升至多 4 倍,并改进了窗口函数性能。这些提升对涉及大量排序或窗口函数的查询有显著帮助,是升级的重要理由之一。

逻辑复制与并行查询的增强

逻辑复制在版本 15 中支持两阶段提交,并允许选择部分表数据(如特定行和列)进行复制。遇到复制冲突时,用户可选择跳过冲突事务或禁用订阅以手动处理。并行查询方面,SELECT DISTINCT 查询可利用并行工作进程提升性能。这些改进增强了数据复制和查询执行的灵活性。

升级建议与稳定性考量

升级到 PostgreSQL 15 的主要原因是大量错误修复,这些修复可能涉及 ABI、接口函数和系统目录结构的修改,无法在已发布的大版本中应用。升级前需检查需要手动操作的特殊情况。由于新特性代码冻结与稳定发布之间有半年的稳定期,升级是安全的。自托管用户可使用 pg_upgrade 工具或官方推荐实践进行升级。

❓

Q&A

PostgreSQL 15的新权限模型有什么变化?

PostgreSQL 15撤销了所有用户的CREATE权限,除了数据库所有者外,其他用户无法创建权限。

PostgreSQL 15的性能提升主要体现在什么方面?

排序操作速度提高至4倍,窗口函数性能也有所改善。

MERGE操作在PostgreSQL 15中有什么新功能?

MERGE操作允许根据提供的源数据修改目标表数据,支持条件处理选项。

PostgreSQL 15如何改进逻辑复制?

支持两阶段提交,并允许选择部分表数据进行逻辑复制。

PostgreSQL 15中新增了哪些正则表达式函数?

新增了regexp_substr()和regexp_count()等正则表达式函数。

为什么建议用户升级到PostgreSQL 15?

升级可以提高稳定性并修复错误,且每个新版本都包含大量的错误修复。

🏷️

标签

➡️

继续阅读