E.148. 版本 8.2.21
发布日期: 2011-04-18
这个版本包含各种自8.2.20以来的修复。关于8.2主版本的新特性信息, 请查看第 E.169 节。
E.148.1. 迁移到版本 8.2.21
运行8.2.X的用户不需要转储/恢复。不过,如果你是从一个早于8.2.14的版本升级而来, 请查看第 E.155 节。
E.148.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做了历史纠正。