发布日期:. 2011-01-31
这个版本包含各种自9.0.2以来的修复。要想获得关于9.0主版本的新特性, 请参阅第 E.131 节。
运行9.0.X版本的用户不需要转储/恢复。
在退出walreceiver之前,确保所有接收到的WAL同步到磁盘 (Heikki Linnakangas)
否则备用服务器会重放一些未同步的WAL,想象的到,如果系统正好在此时崩溃,则会导致数据损坏。
避免walreceiver中过度的同步活动 (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
类型支持更大范围的日期,
但是规划器假设它可以总是不受惩罚的转换一个日期为时间戳。
修复一个数组包含空条目时的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
中修复的错误相同。)