E.192. 版本 8.2.10

E.192.1. 迁移到版本 8.2.10
E.192.2. 修改列表

发布日期:. 2008-09-22

这个版本包含各种自8.2.9以来的修复。关于8.2主版本的新特性信息, 请查看第 E.202 节

E.192.1. 迁移到版本 8.2.10

运行8.2.X的用户不需要转储/恢复。不过,如果你是从一个早于8.2.7的版本升级而来, 那么请查看第 E.195 节

E.192.2. 修改列表

  • 修复btree WAL恢复代码中的bug (Heikki)

    如果WAL在页分裂操作的中途停止,则恢复失败。

  • 修复潜在的datfrozenxid计算错误 (Alvaro)

    这个错误可能会解释一些最近未能删除老的pg_clog数据的报告。

  • 扩大本地锁计数器从32到64位 (Tom)

    这个响应报告计数器在足够长的事务中可能会溢出,导致意外的锁已经持有错误。

  • 修复在GiST索引扫描期间元组可能重复输出 (Teodor)

  • 修复一个视图包含一个简单的UNION ALL构造时,丢失的权限检查 (Heikki)

    正确的检查了引用表的权限,但是视图本身的权限没有检查。

  • 在执行器启动中添加检查,以确保INSERTUPDATE 产生的元组将匹配目标表的当前行类型 (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_dumppg_restore 的错误报告 (Tom)

  • 修复pg_ctl,在restart时妥善保存主进程的命令行参数 (Bruce)

  • 更新时区数据文件到tzdata版本2008f(因为DST规律在Argentina、Bahamas、 Brazil、Mauritius、Morocco、Pakistan、Palestine和Paraguay发生了改变)