E.60. 版本 8.2.11 #
发行日期
2008-11-03
本次发布包含对 8.2.10 的多方面修复。有关 8.2 大版本中新特性的信息,请参见第 E.71 节。
E.60.1. 迁移到版本 8.2.11
对于运行 8.2.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.2.7 的版本升级,请参阅第 E.64 节。另外,如果你运行的是之前的 8.2.X 版本,建议在升级后对所有 GiST 索引执行 REINDEX。
E.60.2. 变更
修复 GiST 索引因删除后把错误的索引条目标记为“死”而损坏的问题(Teodor)
这会导致索引搜索找不到本应找到的行。损坏的索引可以用
REINDEX修复。修复客户端编码无法表示本地化错误消息时的后端崩溃(Tom)
我们此前处理过类似问题,但如果“字符没有等价物”消息本身无法转换,仍会失败。修复方法是在检测到这种情形时禁用本地化并发送纯 ASCII 错误消息。
修复从触发器调用深层嵌套函数时可能的崩溃(Tom)
改进
expressionIN(expression-list) 查询的优化(Tom,想法来自 Robert Haas)右侧有查询变量的情形在 8.2.x 和 8.3.x 中的处理效率低于以前的版本。此修复为此类情形恢复了 8.1 的行为。
修复当子
SELECT出现在FROM中的函数调用、多行VALUES列表或RETURNING列表中时规则查询的错误展开(Tom)此问题通常的症状是“无法识别的节点类型”错误。
修复哈希聚合计划重扫描期间的内存泄漏(Neil)
确保新定义的 PL/pgSQL 触发器函数被当作普通函数调用时报错(Tom)
防止用
ALTER SET TABLESPACE把表移到另一个表空间时relfilenode号可能的冲突(Heikki)该命令试图重用现有文件名,而不是选取目标目录中已知未使用的文件名。
修复单个查询项匹配文本首词时 tsearch2 标题生成不正确的问题(Sushant Sinha)
修复
--enable-integer-datetimes构建中使用非 ISO datestyle 时 interval 值小数秒显示不当的问题(Ron Mayer)确保
SPI_getvalue和SPI_getbinval在传入的元组和元组描述符列数不同时行为正确(Tom)当表添加或删除过列时这种情况是正常的,但这两个函数没有正确处理它。唯一可能的后果是错误的错误指示。
修复 ecpg 对
CREATE ROLE的解析(Michael)修复
pg_ctl restart最近损坏的问题(Tom)确保
pg_control以二进制模式打开(Itagaki Takahiro)pg_controldata 和 pg_resetxlog 此前做得不正确,因此在 Windows 上可能失败。
更新时区数据文件到 tzdata 发行版 2008i(针对阿根廷、巴西、毛里求斯、叙利亚的 DST 法规变更)