E.80. 版本 8.3.16 #
发行日期
2011-09-26
本次发布包含对 8.3.15 的多方面修复。有关 8.3 大版本中新特性的信息,请参见第 E.96 节。.
E.80.1. 迁移到版本 8.3.16
对于运行 8.3.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.3.8 的版本升级,请参阅第 E.88 节。
E.80.2. 变更
修复对不确定的 HOT 更新元组建立索引的缺陷(Tom Lane)
这些缺陷可能导致重建系统目录索引之后索引损坏。据信它们不影响用户索引。
修复 GiST 索引页面分裂处理中的多个缺陷(Heikki Linnakangas)
发生概率很低,但它们可能导致索引损坏。
修复
tsvector_concat()中可能的缓冲区越界(Tom Lane)该函数可能低估其结果所需的内存量,导致服务器崩溃。
修复
xml_recv处理“standalone”参数时的崩溃(Tom Lane)避免在
ANALYZE和 SJIS-2004 编码转换中可能越过内存末尾的访问(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)
修复
CLUSTER可能尝试访问已移除的 TOAST 数据的情况(Tom Lane)修复 “peer” 认证使用凭据控制消息时的可移植性缺陷(Tom Lane)
修复需要多次往返时的 SSPI 登录(Ahmed Shinwari、Magnus Hagander)
该问题的典型症状是 SSPI 登录期间的 “The function requested is not supported” 错误。
修复
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)在 pg_ctl 中,支持 Windows 上服务注册的静默模式(MauMau)
修复 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()失败的响应现在更合理。改进 libpq 对 SSL 失败的错误报告(Tom Lane)
让 ecpglib 以 15 位精度写
double值(Akira Kurosawa)在 ecpglib 中,确保出错后恢复
LC_NUMERIC设置(Michael Meskes)应用上游对 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。