版本 8.2.19

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 附录 E. 版本说明 | 下一页

# E.118. 版本 8.2.19

> 发布日期: 2010-12-16

这个版本包含各种自8.2.18以来的修复。关于8.2主版本的新特性信息， 请查看第 E.137 节。

## E.118.1. 迁移到版本 8.2.19

运行8.2.X的用户不需要转储/恢复。不过，如果你是从一个早于8.2.14的版本升级而来， 那么请查看第 E.123 节。

## E.118.2. 修改列表

- 强制Linux上`wal_sync_method` 的缺省为`fdatasync` (Tom Lane, Marti Raudsepp)

  在Linux上的该缺省实际上是`fdatasync`已经很多年了， 但是最近的内核更改导致PostgreSQL选择了`open_datasync`。 这个选择没有导致任何性能改善，并且在某些文件系统上引起彻底的失败， 尤其是带有`data=journal`挂载选项的`ext4`。

- 为GIN索引修复WAL重放逻辑中的各种错误 (Tom Lane)

  这可能在复制期间导致"bad buffer id: 0"失败或索引内容的损坏。

- 当开始检查点WAL记录和它的重做点不在相同的WAL段时，修复从基础备份的恢复 (Jeff Davis)

- 添加对检测`IA64`上寄存器堆栈溢出的支持 (Tom Lane)

  `IA64`体系结构有两个硬件堆栈。堆栈溢出失败的全面预防需要两个堆栈都检查。

- 为`copyObject()`中的堆栈溢出添加检查 (Tom Lane)

  由于堆栈溢出给出一个足够复杂的查询，某些代码路径可能会崩溃。

- 修复临时GiST索引中页分裂的检测 (Heikki Linnakangas)

  在一个临时索引中有"并发的"页分裂是可能的，比如说， 执行一个插入时有一个打开的游标扫描索引。GiST未能检测这个情况， 并且因此在该游标的执行继续时会交付错误的结果。

- 当`ANALYZE`复杂索引表达式时，避免内存泄露 (Tom Lane)

- 确保使用整行变量的索引仍然依赖于它的表 (Tom Lane)

  像`create index i on t (foo(t.*))`这样声明的索引， 在它的表被删除时，将不会自动被删除。

- 不要用多个`OUT`参数"inline"一个SQL函数 (Tom Lane)

  这避免了由于丢失预期的结果行类型的信息而引起的可能的崩溃。

- 如果`ORDER BY`、`LIMIT`、`FOR UPDATE`或 `WITH`附属于`INSERT ... VALUES`的`VALUES` 部分则正确的行为 (Tom Lane)

- 修复`COALESCE()`表达式的常量折叠 (Tom Lane)

  规划器有时会尝试计算实际永远不可能达到的子表达式，可能导致意外的错误。

- 为`InhRelation`节点添加打印功能 (Tom Lane)

  这避免了启用`debug_print_parse`并且执行了某些类型的查询时的失败。

- 修复点到水平线段的距离的不正确的计算 (Tom Lane)

  这个错误影响几个不同的几何距离测量操作。

- 修复PL/pgSQL对"简单"表达式的处理， 在递归或错误恢复的情况下不会失败 (Tom Lane)

- 修复PL/Python对设置返回函数的处理 (Jan Urbanski)

  尝试在迭代器中调用SPI函数生成一组结果将会失败。

- 修复`contrib/cube`的GiST picksplit算法中的错误 (Alexander Korotkov)

  这会导致相当大的低效，尽管不是实际上不正确的答案，在一个`cube`字段的GiST索引中。 如果你有这样的一个索引，考虑在安装这个更新之后`REINDEX`它。

- 不要在`contrib/dblink`中发出"标识符将被截断"的通知， 除非创建新的连接 (Itagaki Takahiro)

- 修复`contrib/pgcrypto`中丢失的公共键上潜在的内核转储 (Marti Raudsepp)

- 修复`contrib/xml2`的XPath查询函数中的内存泄露 (Tom Lane)

- 更新时区数据文件到tzdata版本2010o， 因为DST规律在Fiji和Samoa发生了改变；还为Hong kong做了历史纠正。

上一页 | 起始页 | 下一页
版本 8.2.20 | 上一级 | 版本 8.2.18