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

PostgreSQL 9.3.3, 9.2.7, 9.1.12, 9.0.16 和 8.4.20 发布!

发布于 2014-02-20,作者:PostgreSQL Global Development Group

PostgreSQL 全球开发组发布了所有支持版本的 PostgreSQL 数据库系统的重要更新,包括小版本 9.3.3、9.2.7、9.1.12、9.0.16 和 8.4.20。此次更新包含多个安全问题的修复,以及一些复制和数据完整性问题的修复。强烈建议所有用户尽快更新其安装版本,特别是那些使用二进制复制或运行高安全应用程序的用户。

安全修复

此次更新修复了 CVE-2014-0060,在该漏洞中,PostgreSQL 未能正确强制执行 ROLE 管理的 WITH ADMIN OPTION 权限。在此次修复之前,任何 ROLE 的成员都可以授予他人访问相同 ROLE 的权限,无论该成员是否被授予 WITH ADMIN OPTION 权限。此外,还修复了多个权限提升问题,包括:CVE-2014-0061CVE-2014-0062CVE-2014-0063CVE-2014-0064CVE-2014-0065CVE-2014-0066。有关这些问题的更多信息,请访问 我们的安全页面安全问题详情维基页面

在此次发布中,我们还警示用户一个已知的安全漏洞,该漏洞允许同一台机器上的其他用户在执行 "make check" 时访问操作系统账户:CVE-2014-0067。"Make check" 通常是在从源代码构建 PostgreSQL 时执行的。由于在不造成我们测试基础设施重大问题的情况下无法修复此问题,补丁将单独公开发布。在此之前,强烈建议用户不要在有不受信任用户账户的机器上运行 "make check"。

复制和数据完整性修复

此次更新还修复了一些影响二进制复制和行锁定的问题,这些问题在某些情况下可能导致可恢复的数据损坏。修复了复制期间索引页面锁定问题,该问题可能导致副本上的索引损坏。修复了 9.3 版本中的一个事务冻结错误,该错误可能导致多次经历事务 ID 回绕的数据库重新出现旧行版本。我们还修复了三个可能导致新备用服务器启动失败的错误。最后,此次更新修复了一个可能导致外键失效的问题,尽管在应用更新后,外键本身仍需要手动修复。

在 9.3 版本中,这些修复导致添加了几个新的服务器配置设置来控制多事务冻结。重要的是,在更新复制主服务器之前,必须将备用服务器更新到 9.3.3 或更高版本,否则复制将中断。

其他改进

除上述内容外,此次发布还修复了以下问题:

  • 修复 WAL 对可见性映射更改的日志记录
  • 确保 GIN 索引记录所有插入操作
  • 使 pause_at_recovery_target 在正确的时间暂停
  • 确保 walreceiver 及时发送热备用反馈消息
  • 防止超时中断夺取主线代码的控制权
  • 消除了几个竞态条件
  • 修复了错误消息中一些错误的 HINTs
  • 防止在 SSL 连接丢失时服务器死锁
  • 修复了两个 Unicode 处理问题
  • 防止在某些子查询语法下崩溃
  • 防止从零列表查询时崩溃
  • 修复了 LATERAL 的两个错误
  • 修复了 UNION ALL、分区和更新的问题
  • 确保 ANALYZE 理解范围上的域
  • 使用默认表空间时取消权限检查
  • 修复 JSON 函数中的内存泄漏
  • 允许带有事件触发器的扩展
  • 在 JSON 输出中正确区分数字
  • 修复 pg_start_backup() 和 pg_stop_backup() 的权限
  • 接受 SHIFT_JIS 作为 locale 名称
  • 修复 SQL 函数变量的 .* 展开
  • 防止某些 COPY 连接失败时出现无限循环
  • 修复了 Windows 客户端的几个问题
  • 启用使用 Visual Studio 2013 构建 PostgreSQL
  • 更新时区文件以反映近期更改

以下可选模块(扩展)也进行了修复:ECPG、dblink、ISN、pgbench、pg_stat_statements 和 postgres_fdw。更多更改和部分上述问题的详细信息可以在发行说明中找到。

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

链接:* 下载 * 发行说明 * 安全页面 * 安全问题详情页面