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