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

PostgreSQL 维护版本:9.3.2、9.2.6、9.1.11、9.0.15 和 8.4.19

发布于 2013-12-05,作者 PostgreSQL 全球开发组

PostgreSQL 全球开发组已发布对所有支持版本的 PostgreSQL 数据库系统的关键更新,包括次要版本 9.3.2、9.2.6、9.1.11、9.0.15 和 8.4.19。此次更新修复了三项严重的数据丢失错误,这些错误会影响复制和数据库维护。我们敦促所有用户尽快更新其安装。

复制问题影响了一些 PostgreSQL 二进制复制的用户,可能导致主服务器和备用服务器之间发生少量数据丢失。虽然并非所有用户都会受到影响,但难以预测此 bug 何时会发生,因此我们敦促所有使用复制和连续备份(PITR)的用户立即更新。此外,在 PostgreSQL 次要版本 9.3.0、9.3.1、9.2.5、9.1.10 或 9.0.14 下运行复制的用户,在更新后应计划为每个备用服务器执行一次新的基础备份,以确保没有先前的数据损坏。有关此问题的更多信息可在 其 wiki 页面上找到。

此次发布还修复了 VACUUM 的两项时序问题,在某些情况下可能导致旧的、被覆盖或删除的行在稍后重新出现。交易量非常高的用户,尤其是那些每几周或更短时间内出现“事务 ID 回绕”的用户,面临的风险最大。这些用户应将 vacuum_freeze_table_age 设置为 0,并在更新后运行一次全数据库的 VACUUM。这两项 VACUUM 问题中的第二项仅影响 9.3 版本,因此对于 9.3 用户来说,更新尤为重要。

本次发布包含的其他修复,其中一些仅影响 9.3 版本,包括:

  • 防止“锁已被持有”错误。
  • 解决超时管理中的竞态条件,可能导致服务器死锁。
  • 修复 HOT 更新和可见性图(Visibility Map)中的小错误。
  • 防止备用服务器上 pg_multixact 存储增长。
  • 修复 GIN 索引中的 bug,该 bug 导致临时查询失败。
  • 移除导致 SP-GiST 索引创建挂起的 bug
  • 修复物化视图中的各种 bug。
  • 恢复在复杂查询中使用重复表别名的能力。
  • 修复子查询优化中的两个 bug。
  • 允许 pg_receivexlog 在生成超过 4GB 日志时恢复流式传输。
  • 防止规划器在整行引用时崩溃。
  • 防止临时文件被过早删除。
  • 修补多个小的内存泄漏。
  • 在 CHECK 和 NOT NULL 约束违反时,抑制已删除列的显示。
  • 允许窗口函数使用默认参数和命名参数。
  • 在转换空 HStore 字符串时返回有效的 JSON 值。
  • 修复 GMT 时区偏移。
  • 在 pg_upgrade 期间正确报告磁盘空间不足错误。
  • 多个时区的时区更新。

其他更改以及上述部分问题的详细信息可在发行说明中找到。

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

链接:* 下载 * 发行说明