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版本的问题已被修正:
更多的更新信息和细节可在发布说明中浏览到。
如同其他小版本升级相同,本次升级,用户不必将数据库完全导出再导入或是使用pg_upgrade工具。用户仅需将PostgreSQL服务器停机,然后将主程序文件进行更新即可。对于跨大版本号进行升级的用户,则需要进行数据库的导出再导入操作,详情可浏览发布声明。