E.159. 版本 8.2.10
发布日期: 2008-09-22
这个版本包含各种自8.2.9以来的修复。关于8.2主版本的新特性信息, 请查看第 E.169 节。
E.159.1. 迁移到版本 8.2.10
运行8.2.X的用户不需要转储/恢复。不过,如果你是从一个早于8.2.7的版本升级而来, 那么请查看第 E.162 节。
E.159.2. 修改列表
-
修复btree WAL恢复代码中的bug (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)
提高写入非常长的日志消息到系统日志的性能 (Tom)
在pg_hba.conf中允许空格在LDAP URL的前缀部分中 (Tom)
修复向后扫描SELECT DISTINCT ON查询上的游标中的错误 (Tom)
-
修复嵌套子查询表达式的规划器错误 (Tom)
如果外部子查询没有直接的依赖于父查询,但是内部子查询直接依赖于父查询, 那么外部的值可能不会为新的父查询行计算。
-
修复规划器,估计GROUP BY表达式产生的布尔结果总是在两个组中, 不管表达式的内容是什么 (Tom)
这非常明显的比为某些布尔测试,像col IS NULL, 的普通GROUP BY估计更精确。
修复PL/pgSQL,当FOR循环的目标变量是一个包含复合类型字段的记录时不要失败 (Tom)
修复PL/Tcl,使其与Tcl8.5正确的行为,并且更加小心数据发送到或者来自Tcl的编码 (Tom)
在Windows上,通过阻止libpq尝试发送超过64kB的系统调用来绕开一个Microsoft错误 (Magnus)
改善未能发送一个SQL命令之后,pg_dump和pg_restore 的错误报告 (Tom)
修复pg_ctl,在restart时妥善保存主进程的命令行参数 (Bruce)
更新时区数据文件到tzdata版本2008f(因为DST规律在Argentina、Bahamas、 Brazil、Mauritius、Morocco、Pakistan、Palestine和Paraguay发生了改变)