PostgreSQL 全球开发组发布了一个更新,为 PostgreSQL 数据库系统的所有支持版本提供了多项功能和安全修复,其中包括小版本 9.4.2、9.3.7、9.2.11、9.1.16 和 9.0.20。本次更新包含了一个对 PostgreSQL 9.3 和 9.4 中潜在数据损坏问题的关键修复;使用这些版本的用户应尽快更新其服务器。
在应用此更新之前,请参阅 关于此更新可能对部分用户造成问题的常见问题解答。
对于 PostgreSQL 9.3 或 9.4 版本的用户,本次发布修复了一个数据库未能防止“多事务回绕”(multixact wraparound)的问题,该问题可能导致数据损坏或丢失。交易量高(每小时 100 万次或以上)且数据库中有许多外键的用户尤其容易受到影响。我们强烈建议所有使用 9.4 和 9.3 版本的用户在接下来的几天内更新其安装。
9.2 及更早版本的用户不受此问题影响。
本次更新修复了过去几个月在 PostgreSQL 中报告的三个安全漏洞。这些问题中没有被认为特别紧急的。但是,用户应进行检查,以防其安装存在漏洞。
此外,我们建议所有使用 Kerberos、GSSAPI 或 SSPI 身份验证的用户在 pg_hba.conf 中设置 include_realm 为 1,这将在未来版本中成为默认设置。
有关这些问题以及之前已修复问题的更多信息,请访问 PostgreSQL 安全页面。
citext 扩展的新版本(非默认)修复了其先前未记录的 regexp_matches() 函数,使其与普通文本版本中的这些函数保持一致。已修复版本与旧版本具有不同的返回类型,因此 CIText 的用户应在运行“ALTER EXTENSION citext UPDATE”更新函数之前测试其应用程序。
除上述内容外,本次累积更新版本还修复了 50 多个报告的问题。命名的大部分问题会影响所有支持的版本。这些修复包括:
本次发布包含了 tzdata release 2015d 的更新,包括埃及、蒙古和巴勒斯坦的更新,以及加拿大和智利的历史性变更。
9.0 版本将于 2015 年 9 月结束生命周期。这意味着本次更新很可能是该版本的倒数第二次更新。PostgreSQL 9.0 的用户应在此之前开始计划升级到更现代化的版本。有关生命周期结束日期的更多信息,请参阅我们的 版本策略。
与以往的小版本发布一样,用户无需转储和重新加载数据库或使用 pg_upgrade 即可应用此更新版本;您只需关闭 PostgreSQL 并更新其二进制文件即可。跳过多个更新版本的用户可能需要执行额外的后续步骤;详情请参阅发行说明。
链接