E.80. 版本 8.2.21

发布日期: 2011-04-18

这个版本包含各种自8.2.20以来的修复。关于8.2主版本的新特性信息, 请查看Section E.101

E.80.1. 迁移到版本 8.2.21

运行8.2.X的用户不需要转储/恢复。不过,如果你是从一个早于8.2.14的版本升级而来, 那么请查看8.2.14的版本声明。

E.80.2. 修改列表

  • 避免目录缓存初始化期间潜在的死锁 (Nikhil Sontakke)

    在某些情况下,缓存加载代码会在锁定索引的目录之前在系统索引上请求共享锁。 这可能死锁尝试请求排他锁的进程,更标准的顺序。

  • 当有并发的更新到目标行时,修复BEFORE ROW UPDATE 触发器处理中的悬挂指针问题 (Tom Lane)

    已经观察到这个bug导致在尝试执行UPDATE RETURNING ctid时, 间歇的"cannot extract system attribute from virtual tuple"失败。 有非常小的可能会有更加严重的错误,比如为更新的元组产生不正确的索引项。

  • 当表有等待延迟触发器事件时,不允许DROP TABLE (Tom Lane)

    以前DROP会通过,导致触发器最终触发时 "could not open relation with OID nnn"错误。

  • 修复包含数组切片的PL/Python内存泄露 (Daniel Popowich)

  • 修复pg_restore以处理TOC文件中的长行(超过 1KB) (Tom Lane)

  • 针对由于过度热情的编译器优化被零除引起的崩溃投入更多的保障 (Aurelien Jarno)

  • 支持在FreeBSD和OpenBSD中的MIPS上的使用dlopen() (Tom Lane)

    有一个硬件连接的假设,这些系统函数在这些系统的MIPS硬件上不可用。 使用一个编译时测试替代,因为最近的版本已经可以了。

  • 修复HP-UX上的编译失败 (Heikki Linnakangas)

  • 修复Crywin上pg_regress使用的路径分隔符 (Andrew Dunstan)

  • 更新时区数据文件到tzdata版本2011f, 因为DST规律在Chile、Cuba、Falkland Islands、Morocco、Samoa和Turkey发生了改变; 还为South Australia、Alaska和Hawaii做了历史纠正。