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)
在执行器启动时添加检查,确保
INSERT
或UPDATE
产生的元组将匹配目标表的当前行类型 (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发生了改变)