版本 8.1.14

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

# E.147. 版本 8.1.14

> 发布日期: 2008-09-22

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

## E.147.1. 迁移到版本 8.1.14

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

## E.147.2. 修改列表

- 放宽本地锁计数器从32到64位 (Tom)

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

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

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

  `ALTER COLUMN TYPE`，跟着以前缓存的计划的重新使用， 会产生这种类型的情形。检查保护了可能接着发生的数据损坏和/或崩溃。

- 修复`AT TIME ZONE`，首先尝试解释他的时区参数为时区缩写， 如果失败，那么尝试它为完整时区名字，而不是和以前一样的其他绕开方式 (Tom)

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

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

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

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

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

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

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

  对于某些布尔测试像`col` `IS NULL`来说， 这比普通`GROUP BY`估计明显更加准确。

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

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

- 修复PL/Python以与Python 2.5一起工作

  这是一个8.2开发周期期间所做的修复的移植。

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

- 修复pg_ctl跨过一个`restart`时， 适当的保存主进程命令行参数 (Bruce)

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

上一页 | 起始页 | 下一页
版本 8.1.5 | 上一级 | 版本 8.1.13