E.91. 版本 8.2.10
发布日期: 2008-09-22
这个版本包含各种自8.2.9以来的修复。关于8.2主版本的新特性信息, 请查看Section E.101。
E.91.1. 迁移到版本 8.2.10
运行8.2.X的用户不需要转储/恢复。不过,如果你是从一个早于8.2.7的版本升级而来, 那么请查看8.2.7的版本声明。
E.91.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发生了改变)