2013-12-05 14:16:46+08 发布 ... 翻译:doudou586

PostgreSQL全球开发组于宣布发布9.3.2、9.2.6、9.1.11、9.0.15 和8.4.19全系列的重要补丁修正版本, 这些新版本修正了三个在数据复制或维护时较为严重的可能会造成数据丢失的Bug,建议所有用户尽快在可能的前提下早做系统升级安排。

这个数据复制的问题影响一些PostgreSQL的非文本信息的复制,会在主数据库和从数据库中复制时导致少量数据丢失。目前这个问题并不影响所有用户,并且很难预测其在何时会出现,所以我们要求进行数据复制和使用流式备份的用户立刻进行升级。另外,使用PostgreSQL 9.3.0、9.3.1、9.2.5、9.1.10或是9.0.14进行数据复制的用户在更新后须进行一次全新的基础备份,以确保没有不一致的数据存在备份中。更多信息也可浏览我们的Wiki页面。

这些新版本也修正了两个小的与VACUUM有关的时间方面问题,一个是它可能导致一些很旧的、被覆盖或是被删除的数据在一定情况下会重新显示出来。对那些事务执行频率很高,特别是每几周可能会经历一次”事务ID“循环的用户可能会受此问题影响。这种情况下,用户在升级后需将vacuum_freeze_table_age变量设置为0,并运行一次数据库范围的VACUUM命令。另一个小问题是仅与9.3版本的VACUUM有关,9.3版本的用户尽快处理。

在本次的补丁版本中,以下仅影响9.3版本的问题已被修正:

  • 消除 "lock already held"的错误提示信息;
  • 解决在超时管理中有冲突的条件可能会导致服务器锁定的问题;
  • 修正HOT复制和可视化映射中的小问题;
  • 防止pg_multixact在从数据库中异常增大;
  • 修正在GIN 索引中会导致临时查询失效的Bug;
  • 清除会导致SP-GiST索引创建会挂起的Bug;
  • 修正物化视图中的断言(Assorted)Bugs;
  • 在进行复杂查询时,恢复允许使用重复的表别名;
  • 修正两个在子查询优化时的Bugs;
  • 当超过4G的日志生成后,允许pg_receivexlog恢复数据流的处理;
  • 防止查询计划的崩溃;
  • 防止过早删除临时文件;
  • 对多处内存泄漏进行修正;
  • 对有CHECK和NOT NULL约束条件的列进行删除时,关闭其信息显示;
  • 对窗口函数允许缺省和命名的变量;
  • 在转换一个空的HStore字符串时返回有效的JSON 值;
  • 修正GMT 时间区;
  • 在pg_upgrade升级时所报out-of-disk-space (磁盘空间不足的处理);
  • 几个时间区的更新。

更多的更新信息和细节可在发布说明中浏览到。

如同其他小版本升级相同,本次升级,用户不必将数据库完全导出再导入或是使用pg_upgrade工具。用户仅需将PostgreSQL服务器停机,然后将主程序文件进行更新即可。对于跨大版本号进行升级的用户,则需要进行数据库的导出再导入操作,详情可浏览发布声明。

© 2010 PostgreSQL中文社区