E.90. 版本 8.2.11

发布日期: 2008-11-03

这个版本包含各种自8.2.10以来的修复。关于8.2主版本的新特性信息, 请查看Section E.101

E.90.1. 迁移到版本 8.2.11

运行8.2.X的用户不需要转储/恢复。不过,如果你是从一个早于8.2.7的版本升级而来, 那么请查看8.2.7的版本声明。另外,如果你正在运行一个早于8.2.X的版本, 建议在升级之后REINDEX所有GiST索引。

E.90.2. 修改列表

  • 修复由于在一个删除之后标记错误的索引项"dead"引起的GiST索引损坏 (Teodor)

    这会导致索引搜索未能找到它们应该找到的行。损坏的索引可以使用REINDEX修复。

  • 修复客户端编码不能表示本地化的错误消息时的后端崩溃 (Tom)

    之前我们解决过类似的问题,但是如果"character has no equivalent" 消息本身不能被转换的话它将仍然会失败。 该修复是在检测到这样的情况时禁用本地化并发送纯ASCII错误消息。

  • 修复深层嵌套的函数在一个触发器中调用时,可能的崩溃 (Tom)

  • 改善_expression_ IN (_expression-list_) 查询的优化 (Tom, per an idea from 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日期类型时, 间隔值中分数秒的不正确的显示 (Ron Mayer)

  • 当传递的元组和元组描述符有不同的字段数时,确保SPI_getvalueSPI_getbinval正确的行为 (Tom)

    当一个表有添加或删除的字段时,这个情况是正常的,但是这两个函数没有正确的处理。 唯一可能的后果是一个不正确的错误指示。

  • 修复ecpg对CREATE ROLE的解析 (Michael)

  • 修复pg_ctl restart最近的破损 (Tom)

  • 确保pg_control是以二进制模式打开的 (Itagaki Takahiro)

    pg_controldata和pg_resetxlog 没有正确的做到这点,因此在Windows上可能会失败。

  • 更新时区数据文件到tzdata版本2008i (因为DST规律在Argentina, Brazil, Mauritius, Syria发生了变化)