2025年9月25日: PostgreSQL 18 发布!

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

发布于 2014-07-24 作者:PostgreSQL Global Development Group

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 版本的修复:

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

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

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

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

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

链接