PostgreSQL 发布 9.3.5、9.2.9、9.1.14、9.0.18 和 8.4.22 更新

发布于 2014-07-24,作者:PostgreSQL 全球开发组

PostgreSQL 全球开发组发布了对数据库系统所有受支持版本的更新,包括 9.3.5、9.2.9、9.1.14、9.0.18 和 8.4.22 版本。此小版本修复了过去四个月中用户发现并报告的许多问题,包括一些数据损坏问题,并且是 8.4 版本的最后一次更新。 9.3 版的用户应尽早更新;8.4 版的用户应计划升级到受支持的 PostgreSQL 版本。

此版本中修复的值得注意的问题包括:

PostgreSQL 9.3 和 pg_upgrade:使用 pg_upgrade 升级到 9.3 版的用户可能存在事务信息问题,导致 VACUUM 最终失败。这些用户应运行发行说明中提供的脚本来确定其安装是否受到影响,然后采取其中概述的补救措施。

PostgreSQL 9.3 崩溃恢复:修复了 PostgreSQL 9.3 中主服务器或备用服务器崩溃恢复期间可能损害数据完整性的三个问题。

GIN 和 GiST 索引:GIN 和 GiST 索引(用于 PostGIS 和全文索引)的三个问题可能导致损坏或不正确的查询响应。应按照发行说明中的说明重建位或位变长列上的任何索引。

make check 期间的安全性:先前安全公告中报告的“make check”期间的不安全套接字权限现已修复。

在此版本中,根据我们的版本控制策略,8.4 版本现已终止生命周期 (EOL)。这意味着不会再发布 8.4 版本的其他更新,用户应尽快计划升级到更高版本。

除了以上内容外,此更新版本还包括以下影响多个 PostgreSQL 版本的修复:

  • 修复并发元组更新中的竞争条件
  • 防止“找不到排序的 pathkey 项目”规划器错误
  • 正确优化带返回集合函数的子查询
  • 修复优化 AND/OR NULL 中的规划器回归
  • 修复规划器对 VARIADIC 函数的处理
  • 使 json_populate_recordset 正确处理嵌套的 JSON
  • 防止创建复杂类型时 TOAST 值损坏
  • 防止“记录类型尚未注册”查询错误
  • 修复函数和回绕游标可能发生的崩溃情况
  • 修补三个内存泄漏
  • 修复子事务删除的行的行检查
  • 更改 pg_stat_activity 在 PREPARE TRANSACTION 期间显示会话的方式
  • 防止 VACUUM FULL 期间的 multixact ID 损坏
  • 修复显示复杂视图定义时的缩进
  • 修复 pg_hba.conf 中的客户端主机名查找
  • 修复 OSX 上的 libpython 链接
  • 避免 libpq 中的缓冲区膨胀
  • 修复转储物化视图的问题
  • 修复 pg_upgrade 对 multixact ID 的处理
  • 确保 pgcrypto 从内存中清除敏感信息
  • 克里米亚、埃及和摩洛哥的时区更新

此版本中包含四个特定于 Windows 的修复

  • 防止表空间创建恢复错误
  • 修复套接字故障的检测
  • 允许用户在启动后更改参数
  • 正确引用可执行文件名,以防止它们失败

以上的一些问题需要受影响的用户执行更新后步骤。请参阅发行说明以了解详细信息。

与其他小版本一样,用户无需转储和重新加载数据库或使用 pg_upgrade 即可应用此更新版本;您只需关闭 PostgreSQL 并更新其二进制文件。跳过多次更新版本的用户可能需要执行额外的更新后步骤;请参阅发行说明以了解详细信息。

链接