pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
发行日期:. 2011-04-18
本次发布包含对 8.4.7 的多方面修复。有关 8.4 大版本中新特性的信息,请参见 第 E.123 节。.
对于运行 8.4.X 的用户,不需要进行转储/恢复。
不过,如果你的安装是通过运行 pg_upgrade 从前一个大版本升级的,应采取措施防止因 pg_upgrade 一个现已修复的缺陷导致可能的数据丢失。推荐的解决方案是对所有 TOAST 表执行 VACUUM FREEZE。更多信息见 http://wiki.postgresql.org/wiki/20110408pg_upgrade_fix。
不过,如果你是从earlier than 8.4.2 的版本升级, 请参见 第 E.121 节。
修复 pg_upgrade 对 TOAST 表的处理(Bruce Momjian)
在 pg_upgrade 期间,TOAST 表的 pg_class.relfrozenxid 值未被正确复制到新安装。这之后可能导致 pg_clog 文件在仍被需要用于验证 TOAST 表中的元组时被丢弃,导致 “could not access status of transaction” 失败。
这一错误对曾用 pg_upgrade 升级的安装构成显著的数据丢失风险。此补丁纠正了未来使用 pg_upgrade 时的问题,但本身不能治愈已用带缺陷版本的 pg_upgrade 处理过的安装中的问题。
抑制错误的 “PD_ALL_VISIBLE flag was incorrectly set” 警告(Heikki Linnakangas)
VACUUM 有时会在实际有效的情况下发出此警告。
禁止在组合类型中包含其自身(Tom Lane)
这防止了服务器在处理该组合类型时无限递归的场景。虽然这种结构有一些可能的用途,但它们似乎不足以抵消确保其始终安全工作所需的努力。
避免目录缓存初始化期间的潜在死锁(Nikhil Sontakke)
某些情况下,缓存加载代码会在锁定索引的目录之前获取系统索引上的共享锁。这可能与尝试以另一种更标准的顺序获取排他锁的进程死锁。
修复当目标元组存在并发更新时 BEFORE ROW UPDATE 触发器处理中的悬空指针问题(Tom Lane)
已观察到该缺陷在尝试执行 UPDATE RETURNING ctid 时导致间歇性的 “cannot extract system attribute from virtual tuple” 失败。发生更严重错误(例如为更新后的元组生成错误索引项)的概率非常小。
当表存在未决的延迟触发器事件时禁止 DROP TABLE(Tom Lane)
此前 DROP 会照常执行,导致触发器最终触发时报 “could not open relation with OID nnn” 错误。
防止 GEQO 优化期间由恒假 WHERE 条件触发的崩溃(Tom Lane)
改进规划器对半连接和反连接情况的处理(Tom Lane)
修复文本搜索的选择率估计,使其考虑 NULL(Jesper Krogh)
改进 PL/pgSQL 处理带已删除列的行类型的能力(Pavel Stehule)
这是先前在 9.0 中所做修复的向后移植。
修复涉及数组切片的 PL/Python 内存泄漏(Daniel Popowich)
修复 pg_restore,使其能处理 TOC 文件中的长行(超过 1KB)(Tom Lane)
加入更多防护,防止因过于激进的编译器优化导致的除零崩溃(Aurelien Jarno)
支持在 FreeBSD 和 OpenBSD 的 MIPS 上使用 dlopen()(Tom Lane)
此前有一个硬编码的假设:该系统函数在这些系统的 MIPS 硬件上不可用。现在改用编译期测试,因为较新的版本已经有了它。
修复 HP-UX 上的编译失败(Heikki Linnakangas)
修复 Windows 上 libintl 的版本不兼容问题(Hiroshi Inoue)
修复 Windows 构建脚本中 xcopy 的用法,使其在 Windows 7 下正确工作(Andrew Dunstan)
这只影响构建脚本,不影响安装或使用。
修复 pg_regress 在 Cygwin 上使用的路径分隔符(Andrew Dunstan)
把时区数据文件更新为 tzdata 版本 2011f for DST law changes in Chile, Cuba, Falkland Islands, Morocco, Samoa, and Turkey; also historical corrections for South Australia, Alaska, and Hawaii。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。