E.83. 版本 8.2.12 #
发行日期
2009-02-02
本次发布包含对 8.2.11 的多方面修复。有关 8.2 大版本中新特性的信息,请参见第 E.95 节。.
E.83.1. 迁移到版本 8.2.12
对于运行 8.2.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.2.11 的版本升级,请参阅第 E.84 节。
E.83.2. 变更
改进
headline()函数中对 URL 的处理(Teodor)改进
headline()函数对超长标题的处理(Teodor)防止在为指定的编码对创建了错误转换函数的编码转换时可能的断言失败或错误转换(Tom、Heikki)
修复 PL/pgSQL 中执行的语句被重写为另一种语句时可能的断言失败,例如
INSERT被重写为UPDATE(Heikki)确保数据类型输入函数有可用快照(Tom)
这主要影响声明了涉及用户定义稳定或不可变函数的
CHECK约束的域。如果没有设置快照,这类函数通常会失败。让使用 SPI 的函数更安全地用于数据类型 I/O 中;特别是用于域检查约束(Tom)
避免
VACUUM中对小表的不必要锁定(Heikki)修复使
UPDATE RETURNING tableoid返回零而不是正确 OID 的问题(Tom)修复传递等式应用于外连接子句时规划器对选择率的错误估计(Tom)
这可能导致诸如
... from a left join b on a.a1 = b.b1 where a.a1 = 42 ...之类的查询得到糟糕的计划。改进优化器对长
IN列表的处理(Tom)此变更避免了在启用约束排除时在这类列表上浪费大量时间。
确保可保持游标的内容不依赖于 TOAST 表的内容(Tom)
此前,游标结果中的大字段值可能被表示为 TOAST 指针,如果被引用的表在游标被读取之前被删除,或者大值被删除随后被清理掉,这就会失败。普通游标不会发生这种情况,但对于保持到创建事务之后的游标则可能。
修复返回集合的函数在未读完整个结果就被终止时的内存泄漏(Tom)
修复
contrib/dblink的dblink_get_result(text,bool)函数(Joe)修复
contrib/sslinfo函数可能的垃圾输出(Tom)修复 configure 脚本,使其在无法获得 PL/Perl 的链接信息时正确报告失败(Andrew)
让所有文档在适当之处引用
pgsql-bugs和/或pgsql-hackers,而不是现已停用的pgsql-ports和pgsql-patches邮件列表(Tom)更新时区数据文件到 tzdata 发行版 2009a(针对加德满都以及瑞士、古巴的历史 DST 修正)