E.120. 版本8.4.1
发布日期: 2009-09-09
该发布包含来自8.4中的各种修复。关于8.4主要发布中的新特性信息, 参阅第 E.121 节。
E.120.1. 迁移到版本8.4.1
运行8.4.X不需要备份/恢复。
E.120.2. 变化
-
在归档恢复结尾修复WAL页面头部初始化(Heikki)
这可能导致在后续归档恢复中处理WAL的错误。
修复"归档中不能产生新的WAL项"错误(Tom)
-
修复在崩溃后使得过期行可见的问题(Tom)
涉及页面状态位的错误可能在服务器崩溃后不能正确设置。
-
在安全定义函数中不允许RESET ROLE和RESET session AUTHORIZATION(Tom, Heikki)
这包含了在之前补丁中漏掉的一种情况, 在安全定义函数中不允许SET ROLE和SET SESSION AUTHORIZATION(参阅CVE-2007-6600)
-
使得已经加载模块的LOAD成为非操作的(Tom)
以前LOAD尝试卸载并且重新加载该模块,但是这不安全而且没有用处。
-
使得窗口函数PARTITION BY和ORDER BY项总是被解释为 简单表达式(Tom)
在8.4.0中这些列表按照用于顶级GROUP BY和ORDER BY列表规则被解析。 但是每个SQL标准是不正确的,并且可能导致循环。
-
修复半连接规划中若干错误(Tom)
在IN或者EXISTS与另外一个连接一起使用的情况中导致错误查询结果。
-
修复引用外连接中子查询的整行处理(Tom)
例子为SELECT COUNT(ss.*) FROM ... LEFT JOIN (SELECT ...) ss ON ...。 这里,为空扩展连接行ss.*被看作为ROW(NULL,NULL,...), 与简单空不一样,现在将它看作为简单空。
-
修复Windows共享内存分配代码(Tsutomu Yamada, Magnus)
该错误导致经常报道的"不能附加到共享内存"错误消息。
-
修复本地处理plperl (Heikki)
当调用plperl函数的时候,导致数据损坏,该错误可能导致服务器的本地设置改变。
修复reloptions的处理以确保设置一个选项不强制为其它的缺省值(Itagaki Takahiro)
确保"fast shutdown"请求强制终止打开会话,即使"smart shutdown"已经 在进行中(Fujii Masao)
避免GROUP BY查询中
array_agg()
的内存泄露(Tom)-
将
to_char(..., 'TH')
看作带有'HH'/'HH12'后缀的大写字母序列(Heikki)它曾作为'th'(小写字母)被处理。
-
包含time和time with time zone输出的
EXTRACT(second)
和EXTRACT(milliseconds)
结果中的小数部分(Tom)一直为浮点datetime配置工作,但在整数datetime代码中被打断。
当x大于2百万并且整数datetime在使用中的时候, 修复INTERVAL 'x ms'溢出(Alex Hunsaker)
-
当处理索引扫描中toasted值得时候,优化性能(Tom)
这对PostGIS是特别有用的。
修复禁用commit_delay错误(Jeff Janes)
-
如果以silent模式启用服务器,输出早期启用信息到postmaster.log中(Tom)
以前丢弃这样的错误消息,导致调度困难。
-
删除翻译常见问题(Peter)
现在主要是在wiki上面。 主要的问题前段时间已经移到了wiki上。
如果postgresql.conf为空,那么修复pg_ctl 不陷入无限循环中(Jeff Davis)
-
修复pg_dump的--binary-upgrade模式中的若干错误(Bruce, Tom)
通过pg_migrator使用pg_dump --binary-upgrade。
修复contrib/xml2的
xslt_process()
以正确处理 最大数量参数(二十)(Tom)提高libpq代码的鲁棒性以恢复COPY FROM STDIN中错误(Tom)
当安装两个库的时候,避免包含readline和editline头文件的冲突(Zdenek Kotala)
解决gcc错误,它导致一些平台上"浮点异常"而不是"以零做除数"(Tom)
为Bangladesh, Egypt, Mauritius中DST变化规律更新时区数据文件到tzdata发布2009l。