E.85. 版本 8.2.10 #
发行日期
2008-09-22
本次发布包含对 8.2.9 的多方面修复。有关 8.2 大版本中新特性的信息,请参见第 E.95 节。.
E.85.1. 迁移到版本 8.2.10
对于运行 8.2.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.2.7 的版本升级,请参阅第 E.88 节。
E.85.2. 变更
修复 btree WAL 恢复代码中的缺陷(Heikki)
如果 WAL 在页分裂操作中途结束,恢复就会失败。
修复
datfrozenxid可能的错误计算(Alvaro)此错误或许能解释最近一些无法删除旧
pg_clog数据的报告。把本地锁计数器从 32 位拓宽到 64 位(Tom)
这是针对计数器在足够长的事务中可能溢出的报告,该溢出会导致意外的“锁已被持有”错误。
修复 GiST 索引扫描期间可能的元组重复输出(Teodor)
修复视图包含简单
UNION ALL构造时遗漏的权限检查(Heikki)被引用表的权限被正确检查,但视图本身的权限没有。
在执行器启动时添加检查,确保
INSERT或UPDATE产生的元组与目标表的当前行类型匹配(Tom)ALTER COLUMN TYPE之后重用先前缓存的计划可能产生这种情形。该检查防范随之而来的数据损坏和/或崩溃。修复
DROP OWNED期间可能的重复删除(Tom)这通常会导致奇怪的错误,例如“关系 NNN 的缓存查找失败”。
修复
AT TIME ZONE:先尝试把时区参数解释为时区缩写,仅在失败时才尝试完整时区名,而不是像以前那样相反(Tom)时间戳输入函数一直按此顺序解析有歧义的时区名。让
AT TIME ZONE也这样做改进了一致性,并修复了 8.1 中引入的兼容性缺陷:在有歧义的情形下,我们现在的行为与 8.0 及更早版本相同,因为在旧版本中AT TIME ZONE只接受缩写。修复日期时间输入函数在 64 位平台上正确检测整数溢出(Tom)
防止显示带单位的配置参数时单位转换期间的整数溢出(Tom)
改进向 syslog 写很长日志消息的性能(Tom)
允许
pg_hba.conf中 LDAP URL 的后缀部分包含空格(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)
在 Windows 上,通过阻止 libpq 在每次系统调用中发送超过 64kB 来绕过 Microsoft 的一个缺陷(Magnus)
改进 pg_dump 和 pg_restore 在发送 SQL 命令失败后的错误报告(Tom)
修复 pg_ctl,使其在
restart期间正确保留 postmaster 命令行参数(Bruce)更新时区数据文件到 tzdata 发行版 2008f(针对阿根廷、巴哈马、巴西、毛里求斯、摩洛哥、巴基斯坦、巴勒斯坦和巴拉圭的 DST 法规变更)