E.58. 发布8.3.19
发布日期: 2012-06-04
该发布包含来自8.3.18各种修复,关于8.3主要发布中新特性信息, 参阅Section E.77。
E.58.1. 迁移到版本8.3.19
运行8.3.X不需要备份/恢复。
然而,如果从8.3.17更早版本更新,参阅8.3.17发布说明。
E.58.2. 变化
修复
contrib/pgcrypto
的DEScrypt()
函数中 不正确密码转换(Solar Designer)如果密码字符串包含字节值
0x80
, 密码的剩余部分被忽略,从而导致该密码比它出现的更弱。 有了该修复,字符串的其余部分被正确包含在DES哈希中。 任何受此漏洞影响的存储密码值将因此不再匹配, 所以存储的值可能需要被更新。为程序语言的调用处理器忽略
SECURITY DEFINER
和SET
属性(Tom Lane)将这些属性应用到调用处理器可能使服务器崩溃(CVE-2012-2655)
允许
timestamp
输入中数字时区偏移量达到距离UTC 16小时(Tom Lane)一些历史时区偏移量超出之前限制15小时。这可能导致重载期间备份数据值被拒绝。
当给定时间恰好是当前时区最后DST过渡时间时,修复时间戳转换处理(Tom Lane)
这种监督已经很长时间了,但是之前没有注意到,因为大部分DST使用区域被假定具有 未来DST转换的无限序列。
修复
text
到name
以及char
到name
映射 用来在多字节编码中正确执行字符串截断(Karl Schnaitter)修复
to_tsquery()
中内存拷贝错误(Heikki Linnakangas)当
pg_attribute
比较大的时候,修复缓慢会话启动(Tom Lane)如果
pg_attribute
超出shared_buffers
的四分之一, 在会话启动期间需要缓存重建代码可能触发同步扫描逻辑。 导致它需要比正常长好几倍的时间。如果立刻启动许多新会话,问题尤其严重。确保顺序扫描合理检查查询取消(Merlin Moncure)
包含非活跃元组的许多连续页扫描不会相应中断。
确保
PGSemaphoreLock()
的Windows实现在返回前清理ImmediateInterruptOK
(Tom Lane)该疏忽意味着在相同的查询之后收到的查询取消中断 可以在一个不安全的时刻被接受,具有不可预测性,但没有好的结果。
当输出视图或者规则的时候,安全显示整行变量(Abbas Butt, Tom Lane)
涉及模糊名字(也就是说,这个名字可以是表或者查询的列名字)的情况以模糊方式被输出, 存在风险是视图或者规则在备份或者重载之后可能被不同地解释。 通过附加非空操作转换避免模糊情况。
确保autovacuum工作进程正确执行堆栈深度检查(Heikki Linnakangas)
之前,通过自动
ANALYZE
激发的函数中无限递归可能使得 工作进程崩溃。修复日志收集器使得在高负载下不会丢失日志一致性(Andrew Dunstan)
如果它比较繁忙,该收集器之前可能无法重新分配大信息。
修复日志收集器以确保它在收到SIGHUP之后重启文件循环(Tom Lane)
当该目标是函数的第一个变量的时候, 修复PL/pgSQL的
GET DIAGNOSTICS
命令(Tom Lane)当数据库包含多个对象的时候,修复pg_dump中若干个性能问题(Jeff Janes, Tom Lane)
如果数据库包含许多模式,或者如果许多对象在依赖循环中,或者如果有许多拥有的序列, 那么pg_dump可能会很慢。
修复
contrib/dblink
的dblink_exec()
而不泄露 临时数据库连接错误(Tom Lane)为Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria和Tokelau Islands中DST变化更新 时区数据文件到tzdata发布2012c; 同时为Canada历史修正。