E.81. 版本9.2.1

E.81.1. 迁移到版本9.2.1
E.81.2. 变化

发布日期: 2012-09-24

该版本包含来自9.2.0的各种修复。关于9.2主要版本新功能的信息,请参阅第 E.82 节

E.81.1. 迁移到版本9.2.1

为了运行9.2.X不需要转储/恢复。

然而,你可能需要执行REINDEX和/或者 VACUUM操作从下面第一个changelog项描述的数据损坏错误影响中恢复。

E.81.2. 变化

  • 修复WAL回放期间共享缓冲区持久性标记(Jeff Davis)

    这个错误会导致在检查点缓冲区不被输出, 如果服务器稍后崩溃而没有输出这些缓冲,导致数据损坏。 损坏可能在随后崩溃恢复的任何服务器上发生, 但它很显然可能在备用从属服务器上发生, 因为这些执行了更多WAL回放。 btree和GIN索引有低概率损坏。 表可见视图有更高概率的损坏, 这可能会导致来自索引扫描的错误结果,正确的表数据不能被这错误损坏。

    虽然没有索引的损坏,由于这个错误已经在该字段发生, 作为预防措施建议产品升级到9.2.1后在合适的时间安装REINDEX所有btree和GIN索引。

    同时,当vacuum_freeze_table_age设置为零的时候, 建议执行所有表的VACUUM,这将修复任何不正确可见性的视图数据。 当它需要更长的时间来完成的时候,可以调整vacuum_cost_delay 以减少清理的性能影响。

  • 修复涉及WHERE indexed_column IN (list_of_values)查询输出可能不正确的排序(Tom Lane)

  • 修复涉及GROUP BY表达式和window函数和聚合函数的查询的规划器错误(Tom Lane)

  • 修复执行器参数的规划器分配(Tom Lane)

    该错误可能导致来自扫描同一个WITH子查询多次的查询错误结果。

  • 提高索引扫描中join条件的规划器处理(Tom Lane)

  • 提高涉及前缀的文本搜索查询的选择性估计,比如word:*模式(Tom Lane)

  • 修复权限变化的延迟识别(Tom Lane)

    除了有可能没有注意到自事务开始时已提交的并行GRANT或者REVOKE的事务外,不需要锁的命令。

  • 当列是数组类型域时,修复ANALYZE而不失败(Tom Lane)

  • 如果递归PL/Perl函数在执行的时候被重新定义,那么防止PL/Perl崩溃(Tom Lane)

  • 解决PL/Perl中可能的错误优化(Tom Lane)

    一些Linux发布包含pthread.h不正确的版本,导致PL/Perl中不正确的编译代码, 如果PL/Perl函数调用另外抛出错误的一个,那么导致崩溃。

  • 删除来自pg_upgradepg_config上的不必要依赖(Peter Eisentraut)

  • 为了Fiji的DST变化规律更新时区数据文件到tzdata版本2012f