企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# E.72\. 发布8.3.5 > **发布日期:** 2008-11-03 该发布包含来自8.3.4各种修复。关于8.3主要发布中新特性信息, 参阅[Section E.77](#calibre_link-34)。 ## 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_getvalue`和`SPI_getbinval` 正确操作(Tom) 当表中有列被添加或者删除的时候,这种情况是正常的, 但是这两个函数不能正确处理它。唯一可能后果是不正确错误显示。 * 标记`SessionReplicationRole`为`PGDLLIMPORT`, 因此它可以用于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变化)