E.73. 版本 8.2.22 #
发行日期
2011-09-26
本次发布包含对 8.2.21 的多方面修复。有关 8.2 大版本中新特性的信息,请参见第 E.95 节。.
PostgreSQL 社区将于 2011 年 12 月停止对 8.2.X 版本系列的更新。建议用户尽快更新到较新的版本分支。
E.73.1. 迁移到版本 8.2.22
对于运行 8.2.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.2.14 的版本升级,请参阅第 E.81 节。
E.73.2. 变更
修复 GiST 索引页面分裂处理中的多个缺陷(Heikki Linnakangas)
发生概率很低,但它们可能导致索引损坏。
避免
ANALYZE中可能访问内存末尾之外(Noah Misch)这修复了概率极低的服务器崩溃情形。
修复 relcache init 文件失效中的竞态条件(Tom Lane)
存在一个时间窗口,新的后端进程可能读到过期的 init 文件,却错过本应告知它数据已过期的失效消息。结果是目录访问中的离奇失败,通常在启动稍后阶段报 “could not read block 0 in file ...”。
修复 GiST 索引扫描结束时的内存泄漏(Tom Lane)
执行许多独立 GiST 索引扫描的命令(例如对已包含许多行的表验证新的基于 GiST 的排他约束)会因此泄漏瞬时需要大量内存。
修复构造大型有损位图时的性能问题(Tom Lane)
修复数组和路径创建函数,确保填充字节为零(Tom Lane)
这避免了一些规划器认为语义相等的常量不相等的情况,这种情况会导致糟糕的优化。
规避破坏 WAL 重放的 gcc 4.6.0 缺陷(Tom Lane)
这可能导致服务器崩溃后已提交事务的丢失。
修复视图中
VALUES的转储缺陷(Tom Lane)禁止对序列执行
SELECT FOR UPDATE/SHARE(Tom Lane)这种操作不像预期那样工作,可能导致失败。
防御计算哈希表大小时的整数溢出(Tom Lane)
修复 “peer” 认证使用凭据控制消息时的可移植性缺陷(Tom Lane)
修复
pg_srand48种子初始化中的笔误(Andres Freund)这导致未能使用所提供种子的所有位。该函数在大多数平台上不使用(只在没有
srandom的平台上使用),而且无论如何看待,随机性低于预期的种子带来的潜在安全暴露似乎都很小。避免
LIMIT与OFFSET值之和超过 2^63 时的整数溢出(Heikki Linnakangas)为
generate_series()的int4和int8版本添加溢出检查(Robert Haas)修复
to_char()中移除尾随零的问题(Marti Raudsepp)在使用
FM且小数点后没有数字位的格式中,小数点左侧的零可能被错误移除。修复
pg_size_pretty(),避免接近 2^63 的输入溢出(Tom Lane)修复 psql 在从其他文件执行
COPY期间脚本文件行号计数的问题(Tom Lane)修复 pg_restore 直接写数据库模式对
standard_conforming_strings的处理(Tom Lane)当从以
standard_conforming_strings设为on制作的归档文件直接恢复到数据库服务器时,pg_restore 可能发出不正确的命令。修复 libpq 的 LDAP 服务查找代码中的越界写入和内存泄漏(Albe Laurenz)
在 libpq 中,避免使用非阻塞 I/O 和 SSL 连接时的失败(Martin Pihlak、Tom Lane)
改进 libpq 对连接启动期间失败的处理(Tom Lane)
特别是,对 SSL 连接启动期间服务器报告
fork()失败的响应现在更合理。让 ecpglib 以 15 位精度写
double值(Akira Kurosawa)应用上游对 blowfish 有符号字符缺陷的修复(CVE-2011-2483)(Tom Lane)
contrib/pg_crypto的 blowfish 加密代码在 char 为有符号的平台(大多数平台如此)上可能给出错误结果,导致加密口令比应有的强度更弱。修复
contrib/seg中的内存泄漏(Heikki Linnakangas)修复
pgstatindex(),使其对空索引给出一致结果(Tom Lane)允许使用 perl 5.14 构建(Alex Hunsaker)
更新 configure 脚本探测系统函数是否存在的方法(Tom Lane)
我们在 8.3 和 8.2 中使用的 autoconf 版本可能被执行链接时优化的编译器欺骗。
修复构建和安装文件路径包含空格的各种问题(Tom Lane)
把时区数据文件更新为 tzdata 版本 2011i for DST law changes in Canada, Egypt, Russia, Samoa, and South Sudan。