E.18. 版本 8.3.6 #
发行日期
2009-02-02
本次发布包含对 8.3.5 的多方面修复。有关 8.3 大版本中新特性的信息,请参见第 E.24 节。.
E.18.1. 迁移到版本 8.3.6
对于运行 8.3.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 8.3.5 的版本升级,请参阅 8.3.5 的发布说明。
E.18.2. 变更
让
DISCARD ALL除了释放已有的一切外还释放咨询锁(Tom)这被认为是最合适的行为。但这可能影响现有应用程序。
修复整索引 GiST 扫描使其正确工作(Teodor)
如果表在 GiST 索引上聚簇,此错误可能导致行丢失。
修复
xmlconcat(NULL)的崩溃(Peter)修复
ispell词典在高位字符被用作标志时可能的崩溃(Teodor)已知一部广泛可用的挪威语词典会这样做,其他词典可能存在同样的情况。
修复 pg_dump 对组合类型输出的错误排序(Tom)
最可能的问题是用户定义的操作符类在需要它们的索引或视图之后才被转储。
改进
headline()函数中对 URL 的处理(Teodor)改进
headline()函数对超长标题的处理(Teodor)防止在为指定的编码对创建了错误转换函数的编码转换时可能的断言失败或错误转换(Tom、Heikki)
修复 PL/pgSQL 中执行的语句被重写为另一种语句时可能的断言失败,例如
INSERT被重写为UPDATE(Heikki)确保数据类型输入函数有可用快照(Tom)
这主要影响声明了涉及用户定义稳定或不可变函数的
CHECK约束的域。如果没有设置快照,这类函数通常会失败。让使用 SPI 的函数更安全地用于数据类型 I/O 中;特别是用于域检查约束(Tom)
避免
VACUUM中对小表的不必要锁定(Heikki)修复有时使
ALTER TABLE ENABLE/DISABLE RULE无法被活动会话识别的问题(Tom)修复使
UPDATE RETURNING tableoid返回零而不是正确 OID 的问题(Tom)允许声明为接受
ANYARRAY的函数用于该类型的pg_statistic列(Tom)这以前可用,但在 8.3 中被无意破坏。
修复传递等式应用于外连接子句时规划器对选择率的错误估计(Tom)
这可能导致诸如
... from a left join b on a.a1 = b.b1 where a.a1 = 42 ...之类的查询得到糟糕的计划。改进优化器对长
IN列表的处理(Tom)此变更避免了在启用约束排除时在这类列表上浪费大量时间。
防止 GIN 索引构建期间的同步扫描(Tom)
因为 GIN 针对按 TID 递增顺序插入元组做了优化,选择使用同步扫描可能使构建减慢三倍或更多。
确保可保持游标的内容不依赖于 TOAST 表的内容(Tom)
此前,游标结果中的大字段值可能被表示为 TOAST 指针,如果被引用的表在游标被读取之前被删除,或者大值被删除随后被清理掉,这就会失败。普通游标不会发生这种情况,但对于保持到创建事务之后的游标则可能。
修复返回集合的函数在未读完整个结果就被终止时的内存泄漏(Tom)
修复数据库编码不是 UTF-8 时 XML 函数中的编码转换问题(Tom)
修复
contrib/dblink的dblink_get_result(text,bool)函数(Joe)修复
contrib/sslinfo函数可能的垃圾输出(Tom)修复
contrib/tsearch2兼容触发器在一条命令中被触发多次时的错误行为(Teodor)修复 autovacuum 中可能的错误信号(Heikki)
支持在 Windows 7 beta 上作为服务运行(Dave 和 Magnus)
修复 ecpg 对 varchar 结构的处理(Michael)
修复 configure 脚本,使其在无法获得 PL/Perl 的链接信息时正确报告失败(Andrew)
让所有文档在适当之处引用
pgsql-bugs和/或pgsql-hackers,而不是现已停用的pgsql-ports和pgsql-patches邮件列表(Tom)更新时区数据文件到 tzdata 发行版 2009a(针对加德满都以及瑞士、古巴的历史 DST 修正)