帕维尔·卢扎诺夫:PostgreSQL 18:第3部分或2024年11月提交节

帕维尔·卢扎诺夫:PostgreSQL 18:第3部分或2024年11月提交节

💡 原文英文,约2300词,阅读约需9分钟。
📝

内容提要

PostgreSQL 18 更新包括默认启用数据校验和、查询优化、临时表处理改进、增量排序和逻辑解码组件检查。新版本提升了性能和错误处理能力,支持非确定性排序和 TLS 1.3 加密套件。

🎯

关键要点

  • PostgreSQL 18 默认启用数据校验和,使用 --data-checksums 选项不再必要。
  • 查询优化:PostgreSQL 18 能够识别并优化包含多个 OR 条件的查询。
  • GROUP BY 和 DISTINCT 的优化:查询计划能够根据索引顺序重排表达式。
  • HAVING 条件在扫描表行时进行检查,提高了查询效率。
  • 临时表的使用需谨慎,PostgreSQL 18 优化了系统目录缓存的更新。
  • 增量排序功能在合并连接中得到应用,提升了性能。
  • 新增 array_reverse 函数,返回数组元素的反向顺序。
  • bytea 数据类型的 min 和 max 函数已实现。
  • pg_stat_statements 和 pg_stat_database 视图新增并行工作者统计列。
  • pg_ls_summariesdir 函数用于增量备份监控,显示 pg_wal/summaries 的内容。
  • pg_logicalsnapinspect 模块用于检查逻辑解码组件的内容。
  • 扩展安装错误信息在 PostgreSQL 18 中得到了显著改善。
  • pg_index 现在有了 TOAST 表,适用于表达式索引。
  • COPY 和 file_fdw 现在支持 REJECT_LIMIT 选项,允许指定错误行数限制。
  • 支持非确定性排序的字符串比较,LIKE 操作现已支持。
  • 新增 ssl_tls13_ciphers 参数,定义用于 TLS 1.3 的加密套件列表。

延伸问答

PostgreSQL 18 的数据校验和功能有什么变化?

PostgreSQL 18 默认启用数据校验和,使用 --data-checksums 选项不再必要。

PostgreSQL 18 如何优化查询性能?

PostgreSQL 18 能够识别并优化包含多个 OR 条件的查询,提高查询效率。

临时表在 PostgreSQL 18 中的使用注意事项是什么?

临时表的使用需谨慎,因为创建临时表会导致系统目录缓存的更新,可能造成性能问题。

PostgreSQL 18 新增了哪些函数?

新增了 array_reverse 函数和 bytea 数据类型的 min 和 max 函数。

PostgreSQL 18 中的增量排序功能有什么改进?

增量排序功能在合并连接中得到应用,允许在外部集合已经部分排序的情况下进行增量排序。

PostgreSQL 18 如何处理逻辑解码组件?

新增的 pg_logicalsnapinspect 模块用于检查逻辑解码组件的内容,便于调试和研究逻辑复制。

➡️

继续阅读