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的DES crypt()函数中 不正确密码转换(Solar Designer)

    如果密码字符串包含字节值0x80, 密码的剩余部分被忽略,从而导致该密码比它出现的更弱。 有了该修复,字符串的其余部分被正确包含在DES哈希中。 任何受此漏洞影响的存储密码值将因此不再匹配, 所以存储的值可能需要被更新。

  • 为程序语言的调用处理器忽略SECURITY DEFINERSET属性(Tom Lane)

    将这些属性应用到调用处理器可能使服务器崩溃(CVE-2012-2655)

  • 允许timestamp输入中数字时区偏移量达到距离UTC 16小时(Tom Lane)

    一些历史时区偏移量超出之前限制15小时。这可能导致重载期间备份数据值被拒绝。

  • 当给定时间恰好是当前时区最后DST过渡时间时,修复时间戳转换处理(Tom Lane)

    这种监督已经很长时间了,但是之前没有注意到,因为大部分DST使用区域被假定具有 未来DST转换的无限序列。

  • 修复textname以及charname映射 用来在多字节编码中正确执行字符串截断(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/dblinkdblink_exec()而不泄露 临时数据库连接错误(Tom Lane)

  • 为Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria和Tokelau Islands中DST变化更新 时区数据文件到tzdata发布2012c; 同时为Canada历史修正。