2016年2月11日,PostgreSQL全球开发小组发布了所有仍在技术支持范围内的各个版本的更新,包括9.5.1、9.4.6、9.3.11、9.2.15和9.1.20版。这些版本修正了两个安全问题,还有近4个月发现的一些BUG。涉及这些问题的用户建议尽快升级至新版本,其他用户可以下一次的系统维护时安装升级。
本次发布的版本修正了CVE-2016-0773号安全漏洞,这是一个有关正则表达式解析的(regex)问题。特殊情况下用户可以传递包括超出范围的U nicode字符给正则表达式进行解析,从而触发后台崩溃。这个问题对PostgreSQL系统使用untrusted(非信任方式)用户并且基于其录入信息时影响较大。
本次更新也修正了CVE-2016-0766号问题,这是一个对PL/JAVA用户可能存在改变权限的情况。现在PL/JAVA的用户参数配置只允许管理员进行修改
除了上面提及的内容,本次更新还处理了近几个用户所反馈的一些问题。包括在9.5版本中新增加的功能,以及类似对pg_dump进行精细调整以消除其在备份EXTENSIONS会产生的一些小问题,具体大的内容包括:
这次的更新也包含2016a版本的时区设置,其中更新了开曼群岛、Metlakatla、Trans-Baikal Territory和巴基期坦。
为了彻底修正问题,9.4版本的用户需要对jsonb_path_ops的索引进行重新索引。其他版本的用户,尤其是跳过很多少版本更新的用户可能需要额外的后续处理工作。具体明细操作请参阅详细发布文档。
所有PostgreSQL的更新是累积方式的。对一些小的更新,用户不必使用先导出数据再导入数据、或是使用pg_upgrade功能来进行本次的升级。用户只需将PostgreSQL服务停止,更新其系统文件即可。