E.133. 版本 8.3.14 #
发行日期:. 2011-01-31
本次发布包含对 8.3.13 的多方面修复。有关 8.3 大版本中新特性的信息,请参见第 E.147 节。.
E.133.1. 迁移到版本 8.3.14
对于运行 8.3.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.3.8 的版本升级,请参阅第 E.139 节。
E.133.2. 变更
避免
EXPLAIN尝试显示简单形式CASE表达式时的失败(Tom Lane)如果
CASE的测试表达式是常量,规划器可能把CASE简化为令表达式显示代码困惑的形式,导致 “unexpected CASE WHEN clause” 错误。修复对现有下标范围之前的数组切片赋值的问题(Tom Lane)
如果新增下标与第一个既有下标之间存在间隙,代码会错误计算需要从旧数组的空值位图复制多少条目,可能导致数据损坏或崩溃。
避免规划器对非常久远的日期值出现意外的转换溢出(Tom Lane)
date类型支持的日期范围比timestamp类型能表示的更宽,但规划器假定它总是可以不受惩罚地把 date 转换为 timestamp。修复启用
standard_conforming_strings时 pg_restore 对大对象(BLOB)的文本输出(Tom Lane)虽然直接恢复到数据库时工作正确,但如果要求 pg_restore 生成 SQL 文本输出且源数据库中已启用
standard_conforming_strings,字符串转义是不正确的。修复对包含
... & !(subexpression) | ...的tsquery值的错误解析(Tom Lane)包含这种操作符组合的查询没有被正确执行。同样的错误也存在于
contrib/intarray的query_int类型和contrib/ltree的ltxtquery类型中。修复
contrib/intarray的query_int类型输入函数中的缓冲区越界(Apple)该缺陷构成安全风险,因为函数的返回地址可能被覆写。感谢 Apple Inc 的安全团队报告此问题并提供修复。(CVE-2010-4015)
修复
contrib/seg的 GiST picksplit 算法中的缺陷(Alexander Korotkov)这可能导致
seg列上的 GiST 索引相当低效,尽管答案并非真正错误。如果你有这样的索引,考虑在安装此更新后对其执行REINDEX。(这与上一次更新中在contrib/cube中修复的缺陷相同。)