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