2016-08-11 安全更新发布
由 PostgreSQL 全球开发组发布于 2016-08-11
PostgreSQL 全球开发组发布了我们数据库系统所有受支持版本的更新,包括 9.5.4、9.4.9、9.3.14、9.2.18 和 9.1.23。此版本修复了两个安全问题。它还修复了过去三个月报告的许多其他错误。依赖数据库用户之间安全隔离的用户应尽快更新。其他用户应计划在下一个方便的停机时间更新。
安全问题
此版本关闭了两个安全漏洞
第二个问题的修复还为 psql 的 \connect 命令添加了一个选项 -reuse-previous。更新后,pg_dumpall 也将拒绝处理包含换行符的数据库和角色名称。有关这些问题及其如何影响向后兼容性的更多信息,请参阅发行说明。
错误修复和改进
此更新还修复了过去几个月报告的许多错误。其中一些问题仅影响 9.5 版本,但许多问题影响所有受支持的版本
- 修复 IS NULL/IS NOT NULL 与复合值的行为不当
- 修复 INSERT ... ON CONFLICT 在与其他 SQL 功能一起使用时无法正常工作的三个区域。
- 使 INET 和 CIDR 数据类型正确拒绝错误的 IPv6 值
- 防止 NaN 输入时 "point ## lseg" 运算符崩溃
- 避免 pg_get_expr() 中可能发生的崩溃
- 修复 to_number() 中的多个单字节缓冲区越界读取
- 如果指定了 WITH NO DATA,则不要无谓地计划查询
- 避免在昂贵的 heap_update() 路径中出现不安全的崩溃状态
- 修复行锁定操作的 WAL 重放期间的提示位更新
- 避免使用 FOR KEY SHARE 时出现不必要的 “无法序列化访问”
- 避免在指定的变量为空字符串时在 postgres -C 中崩溃
- 修复逻辑解码和子事务的两个问题
- 确保后端看到共享目录的最新统计信息
- 防止在升级的数据库中清理 multixact ID 时可能发生的故障
- 当手动 ANALYZE 指定列时,不要重置 changes_since_analyze
- 修复 ANALYZE 对包含空值的列的 n_distinct 的高估
- 修复 b 树标记/恢复处理中的错误
- 修复构建大型(大于 shared_buffers)哈希索引的问题
- 防止在 GiST 索引构建中使用 NaN 值时出现无限循环
- 修复最近邻索引扫描期间可能发生的崩溃
- 修复“PANIC:无法添加 BRIN 元组”错误
- 防止在后台工作程序关闭期间可能发生的崩溃
- 修复并行 pg_dump 和 pg_restore 中的许多问题
- 使 pg_basebackup 接受 -Z 0 作为不压缩
- 使回归测试对丹麦语和威尔士语区域设置安全
libpq 客户端库也已更新,以支持未来的两部分 PostgreSQL 版本号。此更新还包含 tzdata 版本 2016f,其中包含克麦罗沃、新西伯利亚、阿塞拜疆、白俄罗斯和摩洛哥的更新。
9.1 版本 EOL 警告
PostgreSQL 9.1 版本将于 2016 年 9 月终止生命周期。该项目预计仅为该版本发布一次更新。我们敦促用户尽快开始计划升级到更高版本的 PostgreSQL。有关更多信息,请参阅我们的版本控制策略。
更新
所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户不需要转储和重新加载数据库或使用 pg_upgrade 来应用此更新版本;您只需关闭 PostgreSQL 并更新其二进制文件即可。跳过一个或多个更新版本的用户可能需要运行额外的更新后步骤;有关详细信息,请参阅早期版本的发行说明。
链接:* 下载 * 发行说明 * 安全页面 * 版本控制策略