企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# E.58\. 发布8.3.19 > **发布日期:** 2012-06-04 该发布包含来自8.3.18各种修复,关于8.3主要发布中新特性信息, 参阅[Section E.77](#calibre_link-34)。 ## 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 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历史修正。