E.124. 版本 8.1.20 #
发行日期
2010-03-15
本次发布包含对 8.1.19 的多方面修复。有关 8.1 大版本中新特性的信息,请参见第 E.144 节。.
E.124.1. 迁移到版本 8.1.20
对于运行 8.1.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.1.18 的版本升级,请参阅第 E.126 节。
E.124.2. 变更
新增配置参数
ssl_renegotiation_limit,控制对 SSL 连接进行会话密钥重协商的频率(Magnus)可以把它设为零以完全禁用重协商,这在使用有缺陷的 SSL 库时可能是必需的。特别是,某些厂商发布的 CVE-2009-3555 临时补丁会导致重协商尝试失败。
修复试图从子事务启动失败中恢复时可能的崩溃(Tom)
修复与使用保存点以及客户端编码不同于服务器编码相关的服务器内存泄漏(Tom)
让
bit类型的substring()把任何负长度都视为“字符串的其余全部”(Tom)以前的编码只对 -1 这样处理,对其他负值会产生无效的结果值,可能导致崩溃(CVE-2010-0442)。
修复整数到位串的转换:当输出位宽比给定整数宽出非 8 位倍数时,正确处理第一个小数字节(Tom Lane)
修复若干病态缓慢的正则表达式匹配情形(Tom)
修复备份历史文件中的
STOP WAL LOCATION条目:当结束位置恰好位于段边界时报告下一个 WAL 段的名称(Itagaki Takahiro)修复更多临时文件泄漏的情形(Heikki)
这纠正了上一个小版本中引入的问题。失败的一种情形是返回集合的 plpgsql 函数在另一个函数的异常处理器中被调用。
读取
pg_hba.conf及相关文件时,如果@出现在引号内,不要把@something当作文件包含请求;另外,永远不要把单独的@当作文件包含请求(Tom)这防止了角色名或数据库名以
@开头时的古怪行为。如果需要包含路径名包含空格的文件,仍然可以做到,但必须写@"/path to/file"而不是把引号放在整个构造之外。防止在某些平台上把目录命名为
pg_hba.conf及相关文件中的包含目标时出现无限循环(Tom)修复 psql 的
numericlocale选项,使其不在 latex 和 troff 输出格式中格式化不应格式化的字符串(Heikki)修复组合列被设为 NULL 的一种情形下 plpgsql 的失败(Tom)
在 PL/Python 中添加
volatile标记,以避免可能的编译器特定错误行为(Zdenek Kotala)确保 PL/Tcl 完全初始化 Tcl 解释器(Tom)
此疏漏唯一已知的症状是使用 Tcl 8.5 或更高版本时 Tcl 的
clock命令行为异常。防止在向
dblink_build_sql_*函数指定过多键列时contrib/dblink崩溃(Rushabh Lathia、Joe Conway)修复
contrib/xml2中因草率内存管理导致的若干崩溃(Tom)把时区数据文件更新为 tzdata 版本 2010e for DST law changes in Bangladesh, Chile, Fiji, Mexico, Paraguay, Samoa。