E.111. 版本 8.1.14

发布日期: 2008-09-22

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

E.111.1. 迁移到版本 8.1.14

运行8.1.X的用户不需要转储/恢复。不过,如果你是从一个早于8.1.2的版本升级而来, 那么请查看8.1.2的版本声明。

E.111.2. 修改列表

  • 放宽本地锁计数器从32到64位 (Tom)

    这个响应报告了计数器会在足够长的事务中溢出,导致意外的"锁已被持有"错误。

  • 修复GiST索引扫描期间可能的元组重复输出 (Teodor)

  • 在执行器启动时添加检查,确保INSERTUPDATE 产生的元组将匹配目标表的当前行类型 (Tom)

    ALTER COLUMN TYPE,跟着以前缓存的计划的重新使用, 会产生这种类型的情形。检查保护了可能接着发生的数据损坏和/或崩溃。

  • 修复AT TIME ZONE,首先尝试解释他的时区参数为时区缩写, 如果失败,那么尝试它为完整时区名字,而不是和以前一样的其他绕开方式 (Tom)

    时间戳输入函数总是以这个顺序解决模糊的时区名字。让AT TIME ZONE 也这样做提高了一致性,并且修复了一个在8.1中引进的兼容性bug: 在模糊情况下,我们现在的行为和8.0及以前的行为一致, 因为更老版本的AT TIME ZONE 接受缩写。

  • 修复日期时间输入函数,以在64位平台上运行时能正确的检测到整数溢出 (Tom)

  • 提高写入非常长的日志消息到系统日志的性能 (Tom)

  • 修复SELECT DISTINCT ON查询上的游标向后扫描中的错误 (Tom)

  • 修复嵌套子查询表达式的规划器bug (Tom)

    如果外侧子查询与父查询没有直接依赖关系,但是内侧子查询有, 那么外侧的值可能不会为新的父查询行重新计算。

  • 修复规划器估计GROUP BY表达式产生的布尔结果总是在两个组中, 不管表达式的内容是什么 (Tom)

    对于某些布尔测试像_col_ IS NULL来说, 这比普通GROUP BY估计明显更加准确。

  • FOR循环的目标变量是一个包含复合类型字段的记录时, 修复PL/pgSQL以不失败 (Tom)

  • 修复PL/Tcl以与Tcl 8.5正确的行为,并且更加小心发送到或者来自Tcl的数据的编码 (Tom)

  • 修复PL/Python以与Python 2.5一起工作

    这是一个8.2开发周期期间所做的修复的移植。

  • 改善未能发送一个SQL命令之后,pg_dump和 pg_restore的错误报告 (Tom)

  • 修复pg_ctl跨过一个restart时, 适当的保存主进程命令行参数 (Bruce)

  • 更新时区数据文件的到tzdata版本2008f (因为DST规律在Argentina、Bahamas、Brazil、Mauritius, Morocco、Pakistan、 Palestine和Paraguay发生了改变)