💡
原文英文,约1300词,阅读约需5分钟。
📝
内容提要
PostgreSQL 19 引入了多个新特性,包括支持 GROUP BY ALL 语法、窗口函数跳过空值、PL/Python 触发器、改进的错误信息以及支持 base64url 编码解码。此外,备份类型和锁信息的日志记录也得到了增强。
🎯
关键要点
- PostgreSQL 19 引入了 GROUP BY ALL 语法,简化了查询。
- GROUP BY ALL 自动包含所有不使用聚合函数的 SELECT 表达式。
- 窗口函数支持跳过空值,可以使用 IGNORE NULLS 或 RESPECT NULLS 选项。
- PL/Python 触发器功能被引入,可以在 DDL 操作完成时触发。
- 改进的错误信息提供了更精确的函数参数错误提示。
- 随机函数现在支持生成指定范围内的随机日期/时间。
- 编码和解码函数支持 base64url 格式,适用于文件名和 URL。
- 新增的 debug_print_raw_parse 参数显示原始解析树。
- 默认启用锁信息日志记录,以解决长时间锁定的问题。
- pg_stat_progress_basebackup 视图新增 backup_type 列,指示备份类型。
- vacuumdb 工具现在支持对分区表收集统计信息。
- 移除了维护空闲缓冲区列表,采用时钟扫描算法查找可用缓冲区。
- 查询计划中的别名进行了优化,减少了奇怪的别名使用。
❓
延伸问答
PostgreSQL 19 中引入了哪些新特性?
PostgreSQL 19 引入了 GROUP BY ALL 语法、窗口函数跳过空值、PL/Python 触发器、改进的错误信息、支持 base64url 编码解码等新特性。
GROUP BY ALL 语法有什么优势?
GROUP BY ALL 语法简化了查询,自动包含所有不使用聚合函数的 SELECT 表达式,减少了修改 GROUP BY 子句的需要。
窗口函数在 PostgreSQL 19 中有哪些改进?
窗口函数现在支持跳过空值,可以使用 IGNORE NULLS 或 RESPECT NULLS 选项来控制空值的处理。
PL/Python 触发器的功能是什么?
PL/Python 触发器可以在 DDL 操作完成时触发,允许用户执行自定义操作。
PostgreSQL 19 如何改进错误信息?
PostgreSQL 19 提供了更精确的错误信息,能够明确指出函数参数错误的具体原因,避免误导用户。
PostgreSQL 19 中的随机函数有什么新功能?
随机函数现在支持生成指定范围内的随机日期/时间,增强了其功能。
➡️