PostgreSQL 18.1和18.2均为小版本更新,主要聚焦于安全漏洞修复、功能bug修正及稳定性提升。以下是两版本的核心修补内容及差异说明:
18.1是PostgreSQL 18系列的首个小版本,基于18.0的 major 版本功能(如异步I/O、uuidv7()、OAuth认证等),重点修复了18.0及之前版本存在的安全漏洞和功能缺陷,共包含数十项bug修正(具体列表见官方release notes)。
CREATE STATISTICS时未检查schema的CREATE权限的问题,防止普通表 owner 在任意schema中创建统计对象,避免命名冲突。JSON_VALUE等函数含DEFAULT子句(包含COLLATE表达式)时的“unrecognized node type”错误。HAVING子句、GROUPING SETS的错误优化等问题,提升查询计划准确性。18.2是18系列的第二次小版本更新,重点修复了5个高危安全漏洞及65个功能bug,进一步提升了数据库的安全性、稳定性和兼容性。
18.2修复了5个CVSS评分较高的安全漏洞,覆盖内存泄露、代码执行等风险:
oidvector类型验证不当导致的内存泄露问题,防止攻击者获取服务器内存中的敏感信息。intarray扩展的选择性估计函数输入类型验证缺失问题,防止对象创建者执行任意代码。pgcrypto扩展的堆缓冲区溢出问题,防止密文提供者执行任意代码。CVE-2026-2007:修复pg_trgm扩展的堆缓冲区溢出问题,防止攻击者通过 crafted 输入字符串篡改服务器内存。
字符串处理修复:修复substring()函数处理非ASCII Toast 文本时的报错问题(因CVE-2026-2006修复引入的回归,表现为截取多字节字符时抛出“invalid byte sequence”错误)。
| 维度 | PostgreSQL 18.1 | PostgreSQL 18.2 |
|---|---|---|
| 核心目标 | 修复18.0的初始bug,巩固major版本功能 | 修复高危安全漏洞,解决18.1及之前的遗留问题 |
| 安全修复 | 2个安全漏洞(CVE-2025-12817/12818) | 5个高危安全漏洞(CVE-2026-2003至2007) |
| 功能修正 | 侧重查询优化、索引、存储的基础bug | 侧重字符串处理、WAL回放的回归问题,及更广泛的功能稳定性 |
substring()函数回归问题(处理非ASCII文本报错)及WAL回放错误,官方计划在2026年2月26日的out-of-cycle版本(18.3)中修复,建议用户等待18.3发布后再进行升级。substring()函数的使用,并关注18.3的发布。综上,PostgreSQL 18.1和18.2均为维护性更新,18.1聚焦初始bug修复,18.2则重点解决安全漏洞及18.1的遗留问题。用户可根据自身需求选择升级时机。