pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
2011-01-31
本次发布包含对 9.0.2 的多方面修复。有关 9.0 大版本中新特性的信息,请参见 第 E.49 节。.
对于运行 9.0.X 的用户,不需要进行转储/恢复。
在退出 walreceiver 之前,确保所有已接收的 WAL 都已 fsync 到磁盘(Heikki Linnakangas)
否则备库服务器可能重放一些未同步的 WAL,如果系统恰好在那时崩溃,可想而知会导致数据损坏。
避免 walreceiver 中过多的 fsync 活动(Heikki Linnakangas)
让 ALTER TABLE 在需要时重新验证唯一性和排他约束(Noah Misch)
这在 9.0 中被一个本意是抑制 VACUUM FULL 和 CLUSTER 期间重新验证的变更破坏,但该变更无意中也影响了 ALTER TABLE。
修复对表不完全相同的继承树执行 UPDATE 时 EvalPlanQual 的问题(Tom Lane)
表行类型的任何变化(包括只存在于部分子表中的已删除列)都会混淆 EvalPlanQual 代码,导致行为异常甚至崩溃。由于 EvalPlanQual 只在同一行的并发更新期间执行,该问题只是间歇性出现。
避免 EXPLAIN 尝试显示简单形式 CASE 表达式时的失败(Tom Lane)
如果 CASE 的测试表达式是常量,规划器可能把 CASE 简化为令表达式显示代码困惑的形式,导致 “unexpected CASE WHEN clause” 错误。
修复对现有下标范围之前的数组切片赋值的问题(Tom Lane)
如果新增下标与第一个既有下标之间存在间隙,代码会错误计算需要从旧数组的空值位图复制多少条目,可能导致数据损坏或崩溃。
避免规划器对非常久远的日期值出现意外的转换溢出(Tom Lane)
date 类型支持的日期范围比 timestamp 类型能表示的更宽,但规划器假定它总是可以不受惩罚地把 date 转换为 timestamp。
修复数组包含空条目时 PL/Python 的崩溃(Alex Hunsaker)
移除 ecpg 对定义数组维度的常量的固定长度限制(Michael Meskes)
修复对包含 ... & !(subexpression) | ... 的 tsquery 值的错误解析(Tom Lane)
包含这种操作符组合的查询没有被正确执行。同样的错误也存在于 contrib/intarray 的 query_int 类型和 contrib/ltree 的 ltxtquery 类型中。
修复 contrib/intarray 的 query_int 类型输入函数中的缓冲区越界(Apple)
该缺陷构成安全风险,因为函数的返回地址可能被覆写。感谢 Apple Inc 的安全团队报告此问题并提供修复。(CVE-2010-4015)
修复 contrib/seg 的 GiST picksplit 算法中的缺陷(Alexander Korotkov)
这可能导致 seg 列上的 GiST 索引相当低效,尽管答案并非真正错误。如果你有这样的索引,考虑在安装此更新后对其执行 REINDEX。(这与上一次更新中在 contrib/cube 中修复的缺陷相同。)
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。