E.72. 发布8.3.5

发布日期: 2008-11-03

该发布包含来自8.3.4各种修复。关于8.3主要发布中新特性信息, 参阅Section E.77

E.72.1. 迁移到版本8.3.5

运行8.3.X不需要备份/恢复。然而,如果从8.3.1更早版本更新,参阅8.3.1发布说明。 另外,如果你正在运行之前的8.3.X版本,推荐更新之后REINDEX所有 GiST索引。

E.72.2. 变化

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

    这可能导致索引搜索无法找到他们应该找的行。 损坏的索引可以使用REINDEX被修复。

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

    我们已经解决了之前类似问题,如果"字符没有等同"消息自身不能被转化, 但是可能仍然失败。当我们发现这种情况的时候,解决办法是禁用本地化并且发送 纯ASCII错误消息。

  • 修复bytea到XML映射中可能崩溃(Michael McMaster)

  • 当深度嵌套函数被触发器调用的时候,修复可能崩溃(Tom)

  • 提高_expression_ IN(_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)

    该命令尝试重新使用已有文件名,而不是选择在目标目录中未使用的一个。

  • 当单个查询项匹配文本第一个字的时候,修复不正确文本搜索headline生成(Sushant Sinha)

  • 当在--enable-integer-datetimes编译中使用非ISO日期类型时, 修复间隔值中小数秒不正确显示(Ron Mayer)

  • 当他们被逃逸的时候,使用ILIKE比较字符不区分大小写(Andrew)

  • 确保DISCARD通过语句记录被正确处理(Tom)

  • 在PITR恢复期间修复最后完成事务时不正确记录(Tom)

  • 当传递的元组以及元组描述符有不同列数时,确保SPI_getvalueSPI_getbinval 正确操作(Tom)

    当表中有列被添加或者删除的时候,这种情况是正常的, 但是这两个函数不能正确处理它。唯一可能后果是不正确错误显示。

  • 标记SessionReplicationRolePGDLLIMPORT, 因此它可以用于Windows上Slony (Magnus)

  • 当使用libpq的gsslib参数的时候, 修复小的内存泄露(Magnus)

    在连接关闭时不释放通过参数字符串使用的空格。

  • 如果需要,那么确保libgssapi被连接到libpq中(Markus Schaaf)

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

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

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

    pg_controldata和pg_resetxlog这样做不正确, 因此在Windows上可能失败。

  • 更新时区数据文件到tzdata发布2008i (为Argentina, Brazil, Mauritius, Syria中DST变化)