企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# E.81\. 版本 8.2.20 > **发布日期:** 2011-01-31 这个版本包含各种自8.2.19以来的修复。关于8.2主版本的新特性信息, 请查看[Section E.101](#calibre_link-223)。 ## E.81.1\. 迁移到版本 8.2.20 运行8.2.X的用户不需要转储/恢复。不过,如果你是从一个早于8.2.14的版本升级而来, 那么请查看8.2.14的版本声明。 ## E.81.2\. 修改列表 * 避免`EXPLAIN`尝试显示一个`CASE`表达式的简单格式时的失败 (Tom Lane) 如果`CASE`的测试表达式是一个常量,规划器将简化`CASE` 为一个混淆表达式显示代码的格式,导致"unexpected CASE WHEN clause"错误。 * 修复分配给数组切片的下标在现有范围之前 (Tom Lane) 如果在新添加的下标和已经存在的下标之间存在间隔, 代码错误计算有多少项需要从老的数组的空位图中拷贝, 潜在的导致数据损坏或崩溃。 * 避免规划器中非常遥远的日期值意外的转换溢出 (Tom Lane) `date`类型比`timestamp`类型可以表示的日期支持的范围更加广泛, 但是规划器假设它总是可以将日期转换为时间戳而不受惩罚。 * 修复启用`standard_conforming_strings`时, pg_restore为大对象(BLOBs)的文本输出 (Tom Lane) 尽管直接恢复到一个数据库能正确的工作,但是如果pg_restore 要求SQL文本输出和`standard_conforming_strings`已经在源数据库中启用了的话, 字符串的逃逸是不正确的。 * 修复包含`... & !(subexpression) | ...` 的`tsquery`值的错误解析 (Tom Lane) 包含这种操作符组合的查询没有正确的执行,相同的错误存在于`contrib/intarray` 的`query_int`类型和`contrib/ltree`的`ltxtquery`类型中。 * 为`query_int`类型修复`contrib/intarray`的输入函数中的缓冲区溢出 (Apple) 这个错误是一个安全风险,因为该函数的返回地址可能会被重写。 感谢Apple Inc的安全团队报告这个问题并且提供该修复。 (CVE-2010-4015) * 修复`contrib/seg`的GiST picksplit算法中的bug (Alexander Korotkov) 这会导致相当大的低效,尽管不是真的错误回复,在`seg`字段的GiST索引中。 如果你有这样的一个索引,考虑在安装这个更新之后`REINDEX`它。 (这和在以前的更新中的`contrib/cube`中修复的错误相同。)