选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.1 已于 2016 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页

E.63. 版本 8.4.9 #

发行日期

2011-09-26

本次发布包含对 8.4.8 的多方面修复。有关 8.4 大版本中新特性的信息,请参见 第 E.72 节。.

E.63.1. 迁移到版本 8.4.9

对于运行 8.4.X 的用户,不需要进行转储/恢复。

不过,如果你是从earlier than 8.4.8 的版本升级, 请参见 第 E.64 节

E.63.2. 变更

  • 修复对不确定的 HOT 更新元组建立索引的缺陷(Tom Lane)

    这些缺陷可能导致重建系统目录索引之后索引损坏。据信它们不影响用户索引。

  • 修复 GiST 索引页面分裂处理中的多个缺陷(Heikki Linnakangas)

    发生概率很低,但它们可能导致索引损坏。

  • 修复 tsvector_concat() 中可能的缓冲区越界(Tom Lane)

    该函数可能低估其结果所需的内存量,导致服务器崩溃。

  • 修复 xml_recv 处理standalone参数时的崩溃(Tom Lane)

  • pg_options_to_table 对没有值的选项返回 NULL(Tom Lane)

    此前这类情况会导致服务器崩溃。

  • 避免在 ANALYZE 和 SJIS-2004 编码转换中可能越过内存末尾的访问(Noah Misch)

    这修复了一些概率极低的服务器崩溃场景。

  • 防止启动进程与 bgwriter 进程交互时的间歇性挂起(Simon Riggs)

    这影响非热备情况下的恢复。

  • 修复 relcache init 文件失效中的竞态条件(Tom Lane)

    存在一个时间窗口,新的后端进程可能读到过期的 init 文件,却错过本应告知它数据已过期的失效消息。结果是目录访问中的离奇失败,通常在启动稍后阶段报 could not read block 0 in file ...

  • 修复 GiST 索引扫描结束时的内存泄漏(Tom Lane)

    执行许多独立 GiST 索引扫描的命令(例如对已包含许多行的表验证新的基于 GiST 的排他约束)会因此泄漏瞬时需要大量内存。

  • 修复支持可持有游标和 plpgsql 的 RETURN NEXT 命令的 tuplestore 中不正确的内存核算(可能导致内存膨胀)(Tom Lane)

  • 修复构造大型有损位图时的性能问题(Tom Lane)

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

    这修复了一个可能错误估计连接结果大小的规划器启发式规则。

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

    这一失误可能导致外连接的输出错误地显示为 NULL。

  • 允许嵌套的 EXISTS 查询被正确优化(Tom Lane)

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

    这避免了一些规划器认为语义相等的常量不相等的情况,这种情况会导致糟糕的优化。

  • 修复 EXPLAIN,使其处理内层索引扫描子计划中的门控 Result 节点(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)

    这修复了一些自动清理可能对何时清理表做出越来越差决策的场景。

  • 防御计算哈希表大小时的整数溢出(Tom Lane)

  • 修复 CLUSTER 可能尝试访问已移除的 TOAST 数据的情况(Tom Lane)

  • 修复 peer 认证使用凭据控制消息时的可移植性缺陷(Tom Lane)

  • 修复需要多次往返时的 SSPI 登录(Ahmed Shinwari、Magnus Hagander)

    该问题的典型症状是 SSPI 登录期间的 The function requested is not supported 错误。

  • 如果 pg_hba.conf 包含 hostssl 但 SSL 被禁用则抛出错误(Tom Lane)

    这被认定比此前静默忽略这类行的行为更用户友好。

  • 修复 pg_srand48 种子初始化中的笔误(Andres Freund)

    这导致未能使用所提供种子的所有位。该函数在大多数平台上不使用(只在没有 srandom 的平台上使用),而且无论如何看待,随机性低于预期的种子带来的潜在安全暴露似乎都很小。

  • 避免 LIMITOFFSET 值之和超过 2^63 时的整数溢出(Heikki Linnakangas)

  • generate_series()int4int8 版本添加溢出检查(Robert Haas)

  • 修复 to_char() 中移除尾随零的问题(Marti Raudsepp)

    在使用 FM 且小数点后没有数字位的格式中,小数点左侧的零可能被错误移除。

  • 修复 pg_size_pretty(),避免接近 2^63 的输入溢出(Tom Lane)

  • 放宽 plpgsql 对记录值中 typmod 匹配的检查(Tom Lane)

    过于严格的检查可能导致丢弃本应保留的长度修饰符。

  • initdb 期间正确处理区域名中的引号(Heikki Linnakangas)

    这种情况可能出现在某些 Windows 区域设置下,例如People's Republic of China

  • 修复 pg_upgrade,使其在从 8.3 升级期间保留 toast 表的 relfrozenxid(Bruce Momjian)

    不这样做可能导致升级后 pg_clog 文件被过早删除。

  • pg_ctl 中,支持 Windows 上服务注册的静默模式(MauMau)

  • 修复 psql 在从其他文件执行 COPY 期间脚本文件行号计数的问题(Tom Lane)

  • 修复 pg_restore 直接写数据库模式对 standard_conforming_strings 的处理(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() 失败的响应现在更合理。

  • 改进 libpq 对 SSL 失败的错误报告(Tom Lane)

  • 修复 PQsetvalue(),避免向最初来自服务器查询的 PGresult 添加新元组时可能崩溃(Andrew Chernow)

  • ecpglib 以 15 位精度写 double 值(Akira Kurosawa)

  • ecpglib 中,确保出错后恢复 LC_NUMERIC 设置(Michael Meskes)

  • 应用上游对 blowfish 有符号字符缺陷的修复(CVE-2011-2483)(Tom Lane)

    contrib/pg_crypto 的 blowfish 加密代码在 char 为有符号的平台(大多数平台如此)上可能给出错误结果,导致加密口令比应有的强度更弱。

  • 修复 contrib/seg 中的内存泄漏(Heikki Linnakangas)

  • 修复 pgstatindex(),使其对空索引给出一致结果(Tom Lane)

  • 允许使用 perl 5.14 构建(Alex Hunsaker)

  • 更新 configure 脚本探测系统函数是否存在的方法(Tom Lane)

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

  • 修复构建和安装文件路径包含空格的各种问题(Tom Lane)

  • 把时区数据文件更新为 tzdata 版本 2011i for DST law changes in Canada, Egypt, Russia, Samoa, and South Sudan。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。