E.5. 版本 8.3.19 #
发行日期
2012-06-04
本次发布包含对 8.3.18 的多方面修复。有关 8.3 大版本中新特性的信息,请参见第 E.24 节。.
E.5.1. 迁移到版本 8.3.19
对于运行 8.3.X 的用户,不需要进行转储/恢复。
不过,如果你是从earlier than 8.3.17 的版本升级,请参见 8.3.17 的发布说明。
E.5.2. 变更
修复
contrib/pgcrypto的 DEScrypt()函数中不正确的口令变换(Solar Designer)如果口令串包含字节值
0x80,口令的其余部分会被忽略,使口令比看起来弱得多。修复后,字符串的其余部分会被正确纳入 DES 哈希。因此,受此缺陷影响的任何已存储口令值将不再匹配,所以可能需要更新已存储的值。(CVE-2012-2143)忽略过程语言调用处理程序的
SECURITY DEFINER和SET属性(Tom Lane)把这类属性应用于调用处理程序可能导致服务器崩溃。(CVE-2012-2655)
允许
timestamp输入中的数字时区偏移距 UTC 最多 16 小时(Tom Lane)一些历史时区的偏移超过此前 15 小时的限制。这可能导致转储的数据值在重载期间被拒绝。
修复时间戳转换,使其在给定时间恰好是当前时区最后一次夏令时转换时间时能正确处理(Tom Lane)
这一疏忽已存在很长时间,但此前未被注意到,因为大多数使用夏令时的时区被假定有无限的未来夏令时转换序列。
修复
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)
涉及有歧义名称(即该名称既可能是查询的表名也可能是列名)的极端情况此前以有歧义的方式打印,存在视图或规则在转储和重载后被不同解释的风险。现通过附加无操作转换来避免歧义情况。
确保自动清理工作进程正确执行栈深度检查(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)把时区数据文件更新为 tzdata 版本 2012c for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; also historical corrections for Canada。