E.81. 版本 8.1.14 #
发行日期
2008-09-22
本次发布包含对 8.1.13 的多方面修复。有关 8.1 大版本中新特性的信息,请参见第 E.95 节。
E.81.1. 迁移到版本 8.1.14
对于运行 8.1.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.1.2 的版本升级,请参阅第 E.93 节。
E.81.2. 变更
把本地锁计数器从 32 位拓宽到 64 位(Tom)
这是针对计数器在足够长的事务中可能溢出的报告,该溢出会导致意外的“锁已被持有”错误。
修复 GiST 索引扫描期间可能的元组重复输出(Teodor)
在执行器启动时添加检查,确保
INSERT或UPDATE产生的元组与目标表的当前行类型匹配(Tom)ALTER COLUMN TYPE之后重用先前缓存的计划可能产生这种情形。该检查防范随之而来的数据损坏和/或崩溃。修复
AT TIME ZONE:先尝试把时区参数解释为时区缩写,仅在失败时才尝试完整时区名,而不是像以前那样相反(Tom)时间戳输入函数一直按此顺序解析有歧义的时区名。让
AT TIME ZONE也这样做改进了一致性,并修复了 8.1 中引入的兼容性缺陷:在有歧义的情形下,我们现在的行为与 8.0 及更早版本相同,因为在旧版本中AT TIME ZONE只接受缩写。修复日期时间输入函数在 64 位平台上正确检测整数溢出(Tom)
改进向 syslog 写很长日志消息的性能(Tom)
修复
SELECT DISTINCT ON查询上游标反向扫描的缺陷(Tom)修复嵌套子查询表达式的规划器缺陷(Tom)
如果外层子查询不直接依赖父查询而内层依赖,外层的值可能不会为新的父查询行重新计算。
修复规划器,使其估计产生布尔结果的
GROUP BY表达式总是产生两个组,而不考虑表达式的内容(Tom)对于某些布尔测试(如
colIS NULL),这比常规的GROUP BY估计准确得多。修复 PL/pgSQL 在
FOR循环的目标变量是包含组合类型字段的记录时不失败(Tom)修复 PL/Tcl 在 Tcl 8.5 下的正确行为,并更小心地处理发送到 Tcl 或从 Tcl 发出的数据的编码(Tom)
修复 PL/Python 使其与 Python 2.5 一起工作
这是 8.2 开发周期中所做修复的向后移植。
改进 pg_dump 和 pg_restore 在发送 SQL 命令失败后的错误报告(Tom)
修复 pg_ctl,使其在
restart期间正确保留 postmaster 命令行参数(Bruce)更新时区数据文件到 tzdata 发行版 2008f(针对阿根廷、巴哈马、巴西、毛里求斯、摩洛哥、巴基斯坦、巴勒斯坦和巴拉圭的 DST 法规变更)