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

# E.117. 版本 8.2.20

> 发布日期: 2011-01-31

这个版本包含各种自8.2.19以来的修复。关于8.2主版本的新特性信息， 请查看第 E.137 节。

## E.117.1. 迁移到版本 8.2.20

运行8.2.X的用户不需要转储/恢复。不过，如果你是从一个早于8.2.14的版本升级而来， 那么请查看第 E.123 节。

## E.117.2. 修改列表

- 避免`EXPLAIN`尝试显示一个`CASE`表达式的简单格式时的失败 (Tom Lane)

  如果`CASE`的测试表达式是一个常量，规划器将简化`CASE` 为一个混淆表达式显示代码的格式，导致"unexpected CASE WHEN clause"错误。

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

  如果在新添加的下标和已经存在的下标之间存在间隔， 代码错误计算有多少项需要从老的数组的空位图中拷贝， 潜在的导致数据损坏或崩溃。

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

  `date`类型比`timestamp`类型可以表示的日期支持的范围更加广泛， 但是规划器假设它总是可以将日期转换为时间戳而不受惩罚。

- 修复启用`standard_conforming_strings`时， pg_restore为大对象(BLOBs)的文本输出 (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算法中的bug (Alexander Korotkov)

  这会导致相当大的低效，尽管不是真的错误回复，在`seg`字段的GiST索引中。 如果你有这样的一个索引，考虑在安装这个更新之后`REINDEX`它。 （这和在以前的更新中的`contrib/cube`中修复的错误相同。）

上一页 | 起始页 | 下一页
版本 8.2.21 | 上一级 | 版本 8.2.19