版本8.4.7

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 附录 E. 版本说明 | 下一页

# E.82. 版本8.4.7

> 发布日期: 2011-01-31

该发布包含8.4.6各种修复。关于8.4主要发布的新功能的各种信息， 参阅第 E.89 节。

## E.82.1. 迁移到版本8.4.7

运行8.4.X不需要备份/恢复。然而，如果你从8.4.2更早版本更新， 参阅第 E.87 节。

## E.82.2. 变化

- 当`EXPLAIN`尝试显示简单形式`CASE`表达式时， 避免错误(Tom Lane)

  如果`CASE`的测试表达式是常量，规划器可以简化 `CASE`到困惑表达式显示代码形式， 导致"不希望的CASE WHEN子句"错误。

- 修复分配给下标的现有范围的数组片段(Tom Lane)

  如果在新添加的下标和最早预先存在的下标之间存在差距， 该代码误算了许多需要从旧的数组无效的位图拷贝的项， 可能导致数据损坏或崩溃。

- 在规划非常远的日期值时避免意外转换溢出(Tom Lane)

  `date`类型支持比通过`timestamp`类型表示的更广泛日期， 但是规划器假设它完全可以将日期转换为timestamp。

- 当`standard_conforming_strings`是on时， 为大对象(BLOBs)修复pg_restore的 文本输出(Tom Lane)

  虽然直接存储到数据库正常工作，如果 pg_restore要求SQL文本输出并且`standard_conforming_strings` 在源数据库中启用，字符串转义是不正确的。

- 修复包含`... & !(subexpression) | ...`的 `tsquery`值的错误解析(Tom Lane)

  包含操作符这种组合的查询不能正确被执行。同样的错误 存在于`contrib/intarray`的`query_int`类型和`contrib/ltree`的 `ltxtquery`类型中。

- 修复`query_int`类型的`contrib/intarray`的输入函数中 的缓冲区溢出(Apple)

  这个错误是一个安全风险，因为该函数的返回地址可以被覆盖。 感谢 Apple Inc的安全团队报告这个问题并且提供修复(CVE-2010-4015)

- 修复`contrib/seg`的GiST picksplit算法中的错误(Alexander Korotkov)

  这可能导致相当大的无效率，虽然在`seg`列上的GiST索引中不是真的错误答案。 如果你有这样一个索引，可以在安装这个更新之后考虑下`REINDEX`它。 （这与以前更新中`contrib/cube`中被修复的错误是相同的）。

上一页 | 起始页 | 下一页
版本8.4.8 | 上一级 | 版本8.4.6