PostgreSQL Global Development Group 发布了对其所有支持版本数据库系统的更新,包括 9.5.2、9.4.7、9.3.12、9.2.16 和 9.1.21。此次发布修复了 9.5 版本中的两个安全问题和一个索引损坏问题。它还包含对早期版本的各种 bug 修复。强烈建议 9.5.0 或 9.5.1 版本的用户尽快更新。
此次更新修复了安全漏洞 CVE-2016-2193,该漏洞可能导致同一会话中的查询计划被多个 ROLE 重用。这可能导致查询使用错误的行级别安全 (RLS) 策略集。
此次更新还修复了 CVE-2016-3065,这是一个服务器崩溃 bug,通过使用 pageinspect 处理 BRIN 索引页触发。由于攻击者可能能够暴露服务器内存中的少量字节,因此此崩溃被视为安全问题。
在此次发布中,由于索引损坏的报告,PostgreSQL 项目被迫为 9.5 版本的许多索引禁用了缩略键(Abbreviated Keys)性能功能。这可能会影响非“C”区域设置下的 TEXT、VARCHAR 和 CHAR 列上的任何 B-tree 索引。其他区域设置下的索引将失去该功能的性能优势,并应在存在索引损坏的情况下进行 REINDEX。如果项目找到了解决方案,该功能可能会在未来的版本中重新启用。有关更多信息,请参阅发行说明和 此问题的 wiki 页面。
除了上述问题外,本次发布还根据用户近几个月报告的 bug 修复了许多其他问题。这包括影响多个 PostgreSQL 版本的 bug,例如:
此次更新还包含了 tzdata 2016c 版本,更新了阿塞拜疆、智利、海地、巴勒斯坦和俄罗斯的时区数据,并对其他地区进行了历史修复。
9.5 版本用户需要 REINDEX 他们在非 C 区域设置的字符列上创建的任何索引。跳过多个更新版本的其他版本用户可能需要执行额外的更新后步骤;详情请参阅发行说明。
所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户在应用此更新版本时无需转储和重新加载数据库或使用 pg_upgrade;您只需关闭 PostgreSQL 并更新其二进制文件即可。
链接