发布8.3.14

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

# E.99. 发布8.3.14

> 发布日期: 2011-01-31

该发布包含来自8.3.13中各种修复。关于8.3主要发布中新特性信息， 参阅第 E.113 节。

## E.99.1. 迁移到版本8.3.14

运行8.3.X不需要备份/恢复。然而，如果从8.3.8更早版本更新， 参阅8.3.8发布说明。

## E.99.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.3.15 | 上一级 | 发布8.3.13