版本 8.2.10

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

# E.127. 版本 8.2.10

> 发布日期: 2008-09-22

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

## E.127.1. 迁移到版本 8.2.10

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

## E.127.2. 修改列表

- 修复btree WAL恢复代码中的bug (Heikki)

  如果WAL在页分裂操作的中途停止，则恢复失败。

- 修复潜在的`datfrozenxid`计算错误 (Alvaro)

  这个错误可能会解释一些最近未能删除老的`pg_clog`数据的报告。

- 扩大本地锁计数器从32到64位 (Tom)

  这个响应报告计数器在足够长的事务中可能会溢出，导致意外的"锁已经持有"错误。

- 修复在GiST索引扫描期间元组可能重复输出 (Teodor)

- 修复一个视图包含一个简单的`UNION ALL`构造时，丢失的权限检查 (Heikki)

  正确的检查了引用表的权限，但是视图本身的权限没有检查。

- 在执行器启动中添加检查，以确保`INSERT`或`UPDATE` 产生的元组将匹配目标表的当前行类型 (Tom)

  `ALTER COLUMN TYPE`，跟着重新使用一个以前缓存的规划，会产生这种类型的情况。 该检查防卫了可能跟着发生的数据损坏和/或崩溃。

- 修复`DROP OWNED`期间可能的重复删除 (Tom)

  这通常会导致奇怪的错误，比如"关系NNN的缓存查找失败"。

- 修复`AT TIME ZONE`，首先尝试解释它的时区参数为时区缩写， 并且只在失败时尝试它为一个全时区名，而不是像以前一样 (Tom)

  时间戳输入函数总是以这个顺序解决模糊的时区名称。让`AT TIME ZONE` 这样做也改善了一致性，并且修复了一个在8.1中引入的兼容性错误： 在模糊的情况下，我们现在和8.0和以前一样行为，因为在老的版本中，`AT TIME ZONE` 只接受缩写。

- 修复日期时间输入函数，当运行在一个64位的平台上时，正确的检测整数溢出 (Tom)

- 显示一个拥有单位的配置参数时，阻止单位转换期间的整数溢出 (Tom)

- 提高写入非常长的日志消息到系统日志的性能 (Tom)

- 在`pg_hba.conf`中允许空格在LDAP URL的前缀部分中 (Tom)

- 修复向后扫描`SELECT DISTINCT ON`查询上的游标中的错误 (Tom)

- 修复嵌套子查询表达式的规划器错误 (Tom)

  如果外部子查询没有直接的依赖于父查询，但是内部子查询直接依赖于父查询， 那么外部的值可能不会为新的父查询行计算。

- 修复规划器，估计`GROUP BY`表达式产生的布尔结果总是在两个组中， 不管表达式的内容是什么 (Tom)

  这非常明显的比为某些布尔测试，像`col` `IS NULL`， 的普通`GROUP BY`估计更精确。

- 修复PL/pgSQL，当`FOR`循环的目标变量是一个包含复合类型字段的记录时不要失败 (Tom)

- 修复PL/Tcl，使其与Tcl8.5正确的行为，并且更加小心数据发送到或者来自Tcl的编码 (Tom)

- 在Windows上，通过阻止libpq尝试发送超过64kB的系统调用来绕开一个Microsoft错误 (Magnus)

- 改善未能发送一个SQL命令之后，pg_dump和pg_restore 的错误报告 (Tom)

- 修复pg_ctl，在`restart`时妥善保存主进程的命令行参数 (Bruce)

- 更新时区数据文件到tzdata版本2008f（因为DST规律在Argentina、Bahamas、 Brazil、Mauritius、Morocco、Pakistan、Palestine和Paraguay发生了改变）

上一页 | 起始页 | 下一页
版本 8.2.11 | 上一级 | 版本 8.2.9