PostgreSQL 9.6.0 手册 | |||
---|---|---|---|
上一页 | 上一级 | 附录 E. 版本说明 | 下一页 |
E.102. 版本 8.4.19
发布日期: 2013-12-05
这个版本包含各种自8.4.18以来的修复。关于8.4主版本的新特性信息, 请查看第 E.121 节。
E.102.1. 迁移到版本 8.4.19
运行8.4.X的用户不需要转储/恢复。
这个版本纠正了一个潜在的数据损坏问题。参阅下面的第一条修改日志项, 找出您的安装是否受到了影响,和如果受到了影响应该采取什么步骤。
另外,如果你是从早于8.4.17的版本升级而来,请参阅 第 E.104 节。
E.102.2. 修改列表
-
修复VACUUM的测试,查看它是否可以更新 relfrozenxid (Andres Freund)
在VACUUM(手动或自动)的某些情况下,会错误的增加一个表的 relfrozenxid值,允许元组逃离冻结,导致一旦过去2^31个事务, 这些行就变得不可见了。数据丢失的可能性要低的多,因为在数据真正的丢失之前, 需要多个不正确的进展,但也不是没有。从8.4.8或更早版本升级而来的用户没有受到影响, 但是所有随后的版本都包含了这个错误。
这个问题可以通过升级、在vacuum_freeze_table_age 设置为零的情况下清理所有数据库中的表来改善。这可以修复任何潜在的损坏, 但是不能修复所有已经存在的数据错误。不过,如果一个安装已经执行的更新事务少于2^31 (使用SELECT txid_current() < 2^31检查), 那么可以假设在执行清理之后该安装是安全的。
-
修复GIN索引发布树页面删除中的竞态条件 (Heikki Linnakangas)
这会导致短暂的错误回复或查询失败。
-
避免展开一个SELECT列表的子SELECT 中包含易变函数的查询 (Tom Lane)
这避免了由于额外的计算易变函数而导致意想不到的结果。
-
修复规划器对非简单变量子查询输出嵌套在外连接中的处理 (Tom Lane)
这个错误会导致对JOIN语法中包含多级别子查询的查询的错误规划。
-
修复过早删除临时文件 (Andres Freund)
-
修复规则输出中可能的读取过去的内存 (Peter Eisentraut)
-
修复int2vector和oidvector值的数组切片 (Tom Lane)
这种形式的表达式现在隐式的提升为正规的int2或 oid数组。
-
修复使用SQL标准、简单的GMT偏移时区时的错误行为 (Tom Lane)
在某些情况下,当系统应该使用常规的时区设置(在选择简单偏移之前它就盛行了)时, 系统使用了简单GMT偏移值。这个修改也导致
timeofday
函数遵守简单GMT偏移时区。 -
阻止记录Windows错误代码的翻译时可能的错误行为 (Tom Lane)
-
正确的引用pg_ctl中生成的命令行 (Naoya Anzai and Tom Lane)
该修复仅适用于Windows。
-
修复pg_dumpall,使其在源数据库通过ALTER DATABASE SET 设置default_transaction_read_only 时也能工作 (Kevin Grittner)
以前,生成的脚本在恢复期间会失败。
-
修复ecpg对varchar声明的变量列表的处理 (Zoltán Böszörményi)
-
让contrib/lo防卫不正确的触发器定义 (Marc Cousin)
-
更新时区数据文件到tzdata版本2013h, 因为DST规律在Argentina、Brazil、Jordan、Libya、 Liechtenstein、Morocco和Palestine发生了改变。 还有,Indonesia的新的时区缩写WIB、WIT、WITA。