E.84. 版本 9.0.14
发布日期: 2013-10-10
这个版本包含各种自9.0.13以来的修复。想要获得关于9.0主版本的新特性信息, 请参阅第 E.98 节。
E.84.1. 迁移到版本 9.0.14
运行9.0.X的系统不需要转储/恢复。
不过,如果你是从一个早于9.0.13的版本升级而来,请参阅第 E.85 节。
E.84.2. 修改列表
-
阻止尝试合并大小写标识符时多字节字符的损坏 (Andrew Dunstan)
PostgreSQL仅在使用单字节服务器编码时合并大小写非ASCII字符。
修复wal_level = hot_standby时后台写作检查点内存泄露 (Naoya Anzai)
修复
lo_open()
失败导致的内存泄露 (Heikki Linnakangas)修复work_mem使用超过24GB内存的内存过度使用错误 (Stephen Frost)
修复使用SSL时libpq中的死锁错误 (Stephen Frost)
修复线程libpq应用程序中可能的SSL状态损坏 (Nick Phillips, Stephen Frost)
-
适当的计算包含许多NULL值的布尔字段的行估计 (Andrew Gierth)
以前的文本,像col IS NOT TRUE和col IS NOT FALSE, 在估计规划开销时并不能适当的包括进NULL值中。
-
阻止将WHERE子句下推到不安全的UNION/INTERSECT子查询中 (Tom Lane)
SELECT列表中包含设置返回函数或不稳定函数的UNION 或INTERSECT的子查询会被不适当的最优化,导致运行时错误或不正确的查询结果。
修复"failed to locate grouping columns"规划器失败的罕见情况 (Tom Lane)
提高视图转储代码对引用表中被删除的字段的处理 (Tom Lane)
-
适当的记录用uniqUE和PRIMARY KEY语法创建的索引注释 (Andres Freund)
这修复了一个并行的pg_restore错误。
-
修复了REINDEX TABLE和REINDEX DATABASE, 以正确的使约束重新生效,并且标记无效的索引为有效 (Noah Misch)
REINDEX INDEX总是正常工作。
修复并发CREATE INDEX CONCURRENTLY操作期间可能的死锁 (Tom Lane)
-
修复
regexp_matches()
处理零长度匹配 (Jeevan Chalke)以前,像'^'这样的零长度匹配可能返回很多匹配。
修复过度复杂的正则表达式的崩溃 (Heikki Linnakangas)
修复正则表达式逆向引用和非贪婪量词结合的匹配错误 (Jeevan Chalke)
阻止CREATE FUNCTION检查SET变量,除非启用了函数体检查 (Tom Lane)
允许ALTER DEFAULT PRIVILEGES在模式上操作,不需要CREATE权限 (Tom Lane)
-
放松了在查询上使用的关键字的限制 (Tom Lane)
特别的,减少了角色名、语言名、EXPLAIN和COPY操作、 还有SET值的关键字的限制。这允许COPY ... (FORMAT BINARY)像预期的那样工作;以前的BINARY需要加引号。
修复了
pgp_pub_decrypt()
,这样它为带有口令的秘钥工作 (Marko Kreen)删除缺少索引的表vacuum期间稀有的不准确的警告 (Heikki Linnakangas)
如果VACUUM ANALYZE截断文件的尝试由于锁冲突而取消, 确保它仍然运行ANALYZE (Kevin Grittner)
避免在预备查询中执行事务控制命令时可能的错误(如 ROLLBACK) (Tom Lane)
-
确保所有平台上浮点数据输入接受标准的"infinity"拼写 (Tom Lane)
C99标准指出允许的拼写是inf、+inf、-inf、 infinity、+infinity和-infinity。 确保我们能够认出它们,即使该平台的
strtod
函数不能认出。 扩张比较行的能力到记录和数组 (Rafal Rzepecki, Tom Lane)
更新时区数据文件到tzdata版本2013D,因为DST规律在Israel、 Morocco、Palestine和Paraguay方面改变了。另外, Macquarie Island历史时区数据纠正。