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

# E.80. 版本8.4.9

> 发布日期: 2011-09-26

该发布包含来自8.4.8的各种修复。关于8.4主要发布的新功能的信息， 参阅第 E.89 节。

## E.80.1. 迁移到版本8.4.9

为运行8.4.X不需要备份/恢复。

然而，如果你从8.4.8更早版本更新，参阅第 E.81 节。

## E.80.2. 变化

- 修复存在问题的热更新元组的索引错误(Tom Lane)

  这些错误可以导致重新索引系统目录后索引崩溃。 他们不认为会影响用户索引。

- 修复GiST索引页分裂处理的多个错误(Heikki Linnakangas)

  发生的概率是很低的，但是可以导致索引失败。

- 修复`tsvector_concat()`中可能的缓冲区溢出(Tom Lane)

  该函数低估它的结果所需要的内存量，导致服务器崩溃。

- 当处理"standalone"参数时，修复`xml_recv` 中崩溃(Tom Lane)

- 使得`pg_options_to_table`为没有值的选项返回NULL(Tom Lane)

  以前这种情况可以导致服务器崩溃。

- 避免在`ANALYZE`和SJIS-2004编码转换中可能访问内存结尾(Noah Misch)

  这修复了一些概率很低的服务器崩溃情况。

- 防止间歇性挂在启动进程和bgwriter进程的相互作用中(Simon Riggs)

  这影响了在非热备份情况中的恢复。

- 修复relcache初始文件失效的竞态条件(Tom Lane)

  有一个Window，其中新的后台进程可以读一个陈旧的初始化文件， 但是忽略了告知它的数据是陈旧的无效消息。 其结果在目录访问中是奇怪的错误，通常在启动之后 "无法读取文件中块0..."。

- 修复在GiST索引扫描结尾的内存泄露(Tom Lane)

  执行许多单独GiST索引扫描的命令， 比如包含很多行的表上新的基于排斥约束的GiST验证， 由于这种泄露可能短暂地需要大量内存。

- 修复元组存储可支持游标以及 plpgsql的`RETURN NEXT`命令中不正确的内存计算（可能导致内存膨胀）(Tom Lane)

- 当建立一个大的，有损耗的位图时，修复性能问题(Tom Lane)

- 修复唯一列的连接选择性估计(Tom Lane)

  这修复了可以导致连接结果大小的较差估计的错误的规划器探试。

- 修复只出现在子select目标列中的嵌套PlaceHolderVar表达式(Tom Lane)

  这个错误可以导致错误的出现空的外部连接的输出。

- 运行正确优化的嵌套的`EXISTS`查询(Tom Lane)

- 修复数组和路径创建函数确保填充字节为零(Tom Lane)

  这避免了规划器认为语义上相同的常数是不相等的一种情况，导致低劣的优化。

- 修复`EXPLAIN`以处理内部索引扫描子规划中控制结果节点(Tom Lane)

  这种忽视的通常状况是"bogus varno"错误。

- 解决了打破WAL回放的gcc 4.6.0错误(Tom Lane)

  这可能会导致服务器崩溃后已提交事务损失。

- 修复视图中`VALUES`备份错误(Tom Lane)

- 不允许序列上`SELECT FOR UPDATE/SHARE`(Tom Lane)

  该操作不按预期运行并且导致错误。

- 修复`VACUUM`所以它总是更新`pg_class`.`reltuples`/`relpages` (Tom Lane)

  这将修复对于当vacuum表的时候autovacuum可能会越来越差的一些情况。

- 当计算哈希表大小时，防止整数溢出(Tom Lane)

- 修复`CLUSTER`可能尝试访问已删除TOAST数据(Tom Lane)

- 修复为"peer"认证使用凭证控制消息的可能错误(Tom Lane)

- 当需要多次往返时，修复SSPI登录(Ahmed Shinwari,Magnus Hagander)

  这个问题典型症状是在SSPI登录期间"不支持该函数请求"错误。

- 如果`pg_hba.conf`包含`hostssl`，但是 SSL被禁用，抛出错误(Tom Lane)

  这一结论比默默忽略这些行的先前操作更加人性化。

- 修复`pg_srand48`起源初始化中的typo (Andres Freund)

  这导致错误使用已提供的种子的所有位。 在大多数平台上不使用这个功能（只有那些没有`srandom`的）， 以及来自任何情况下比预期更少随机种子似乎最小的潜在安全隐患。

- 当`LIMIT`和`OFFSET`总数值超过2^63的时候， 避免整数溢出(Heikki Linnakangas)

- 添加溢出检查到`generate_series()` 的`int4`和`int8`版本(Robert Haas)

- 修复`to_char()`中尾随零删除(Marti Raudsepp)

  带有`FM`的格式，并且小数点后没有数字位置中， 小数点左边的零可能被错误地删除。

- 修复`pg_size_pretty()`以避免接近2^63的输入溢出(Tom Lane)

- 削弱记录值中typmod匹配的plpgsql检查(Tom Lane)

  一个过分热情检查可能导致丢弃一直保持的长度修饰符。

- 正确处理initdb期间的区域名的引用(Heikki Linnakangas)

  这种情况可以产生一些Windows区域，比如"中华人民共和国"。

- 从8.3更新期间修复pg_upgrade保存toast表的relfrozenxid (Bruce Momjian)

  如果不这样做可能导致`pg_clog`文件升级后很快被删除。

- 在pg_ctl中， 支持Windows上服务注册静止模式(MauMau)

- 修复从不同文件`COPY`时脚本文件行数的psql计数(Tom Lane)

- 为`standard_conforming_strings`修复 pg_restore的直接到数据库模式(Tom Lane)

  当从`standard_conforming_strings`设置为`on`的归档文件中直接恢复 到数据库服务器时，pg_restore可以发出错误命令。

- 关于平行的pg_restore不支持情况用户界面友好(Tom Lane)

  该变化确保了在采取的任何恢复操作之前这种情况被检测和报告。

- 修复写入超越缓冲区末尾以及在libpq的LDAP服务查找代码中的内存泄漏(Albe Laurenz)

- 在libpq中，当使用非阻塞I/O和SSL连接时避免错误(Martin Pihlak, Tom Lane)

- 连接启动时提高libpq的错误处理(Tom Lane)

  特别是，在SSL连接启动时`fork()`错误的服务器报告 的反应是明智的。

- 提高SSL故障libpq的错误报告(Tom Lane)

- 当添加新元组到最初从服务器查询获得的`PGresult`时， 修复`PQsetvalue()`避免可能崩溃(Andrew Chernow)

- 使得ecpglib写入带有15位数字精度的`double`值(Akira Kurosawa)

- 在ecpglib中，确保错误之后恢复`LC_NUMERIC`设置(Michael Meskes)

- 提供上游修复加密的符号字符错误(CVE-2011-2483)(Tom Lane)

  `contrib/pg_crypto`的加密代码可以在 字符是有符号的（这是大多数）平台上提供错误结果，导致加密密码比它们所应该的更弱。

- 修复`contrib/seg`中的内存泄露(Heikki Linnakangas)

- 修复`pgstatindex()`为空索引提供一致结果(Tom Lane)

- 允许编译 perl 5.14 (Alex Hunsaker)

- 为探测系统函数的存在更新配置脚本方法(Tom Lane)

  在8.3和8.2中使用的autoconf的版本可能被执行链接时优化的编译器愚弄。

- 修复包含空格的编译安装文件路径的相关问题(Tom Lane)

- 更新时区数据文件到为Canada, Egypt, Russia, Samoa和South Sudan中的DST变化规律的tzdata发布2011i。

上一页 | 起始页 | 下一页
版本8.4.10 | 上一级 | 版本8.4.8