E.64. 发布8.3.13
发布日期: 2010-12-16
该发布包含来自8.3.12的各种修复。关于8.3主要发布的新特性信息,参阅 Section E.77。
E.64.1. 迁移到版本8.3.13
运行8.3.X不需要备份/恢复。然而,如果从8.3.8更早版本更新, 参阅8.3.8发布说明。
E.64.2. 变化
强迫缺省
wal_sync_method
为Linux上fdatasync
(Tom Lane, Marti Raudsepp)Linux上的缺省很多年一直
fdatasync
, 但最近的内核变化反而引起PostgreSQL到选择open_datasync
。 这一选择不会引起任何性能改进,并且在某些文件系统造成彻底的失败, 尤其是带有data=journal
安装选项的ext4
。修复GIN索引WAL回放逻辑中各种错误(Tom Lane)
这可能导致"bad buffer id: 0"错误或者复制过程中索引内容的损坏。
当开始检查点WAL记录不在同一WAL段作为重做点,修复基础备份恢复(Jeff Davis)
当多个执行者长时间保持活跃,修复autovacuum持久延迟(Tom Lane)
为自动清理者的有效
vacuum_cost_limit
可能会删除到几乎为零, 如果它处理了足够的表,导致它运行得非常慢。添加支持检测
IA64
上寄存器堆栈溢出(Tom Lane)IA64
结构有两个硬件堆栈。 全面预防堆栈溢出错误需要检查两者。添加
copyObject()
中的堆栈溢出检查(Tom Lane)某些代码路径可能崩溃,因堆栈溢出产生一个足够复杂的查询。
修复临时GiST索引中页面拆分检查(Heikki Linnakangas)
它可能在临时索引中有一个"并发"页拆分, 例如,当插入完成的时候,如果有一个打开的游标扫描索引, 当游标继续执行的时候,GiST未能检测这种情况,并因此可能提供错误的结果。
当
ANALYZE
复杂索引表达式的时候,避免内存泄露(Tom Lane)确保使用整行Var的索引仍然依赖于它的表(Tom Lane)
当删除表的时候,声明像
create index i on t (foo(t.*))
的索引可能不会自动被删除。不能"内联"SQL函数与多个
OUT
参数(Tom Lane)这避免可能崩溃,由于关于预期结果行类型信息缺失。
如果
ORDER BY
,LIMIT
,FOR UPDATE
或者WITH
附属于INSERT ... VALUES
的VALUES
部分,则操作正确(Tom Lane)修复
COALESCE()
表达式的常数合并(Tom Lane)规划器可能有时尝试评估实际上可能找不到的子表达式,可能导致意外错误。
当连接尝试(
accept()
或者它之后立即调用)失败时, postmaster与GSSAPI支持一起编译(Alexander Chernikov)当
log_temp_files
是活跃的,修复临时文件的忽略断开(Tom Lane)当尝试发出日志信息的时候,如果发生错误,那么删除链接不执行,导致临时文件积累。
添加
InhRelation
节点输出功能(Tom Lane)当激活
debug_print_parse
,并且执行某种类型查询的时候,避免错误。修复从一个点到一个水平线段不正确计算(Tom Lane)
该错误影响了若干个不同几何距离测量操作符。
修复"simple"表达式的PL/pgSQL处理可以在 递归或者错误恢复情况中执行(Tom Lane)
修复集合返回函数的PL/Python的处理(Jan Urbanski)
在迭代器产生一组结果中尝试调用SPI函数可能失败。
修复
contrib/cube
的GiST picksplit算法中的错误(Alexander Korotkov)这可能会导致相当大的效率低下,但实际上并不是错误结论,在GiST索引
cube
列中。 如果你有这样一个索引,考虑在安装此更新后REINDEX
它。不能发出
contrib/dblink
中"标识符被截断"注意事项,除非 当创建新链接的时候(Itagaki Takahiro)修复
contrib/pgcrypto
中关于丢失公钥上潜在核心转储(Marti Raudsepp)修复
contrib/xml2
的XPath查询函数中的内存泄露(Tom Lane)为了Fiji和Samoa中DST变化更新时区数据文件到tzdata发布2010o; 同时为了Hong Kong历史修正。