E.45. 版本9.2.5
发布日期: 2013-10-10
该版本包含来自9.2.4的各种修复。关于9.2主要版本新功能的信息,请参阅第 E.50 节。
E.45.1. 迁移到版本9.2.5
为了运行9.2.X不需要转储/恢复。
同时,如果你是从早于9.2.4的版本上更新,参阅第 E.46 节。
E.45.2. 变化
-
阻止尝试合并大小写标识符时多字节字符的损坏 (Andrew Dunstan)
PostgreSQL仅在使用单字节服务器编码时合并大小写非ASCII字符。
修复在范围字段上创建B-tree索引时的内存泄露 (Heikki Linnakangas)
当wal_level = hot_standby的时候,修复后端写进程中检查点内存泄露。(Naoya Anzai)
修复通过
lo_open()
故障产生的内存泄露。(Heikki Linnakangas)当work_mem正使用大于24GB的内存时,那么修复内存过量使用错误。(Stephen Frost)
可串行化快照修复(Kevin Grittner, Heikki Linnakangas)
修复使用SSL时libpq中的死锁错误 (Stephen Frost)
修复线程libpq应用中可能的SSL状态损坏 (Nick Phillips, Stephen Frost)
-
当在通用和自定义计划之间选择时,提高计划成本估计(Tom Lane)
当计划成本高时,那么该变化将有利于通用计划。
-
正确计算估计布尔列包含许多NULL值的行(Andrew Gierth)
当估计计划成本时,先前的测试像col IS NOT TRUE和col IS NOT FALSE没有合理的NULL值因素。
-
修复UNION ALL和继承查询中限定符评估成本的计算 (Tom Lane)
这修复了一些WHERE子句的评估非常昂贵时,选择非最佳查询规划的情况。
-
阻止叠加WHERE子句到不安全的UNION/INTERSECT子查询中(Tom Lane)
SELECT列表中包含设置返回函数或不稳定函数的UNION 或INTERSECT的子查询会被不适当的最优化,导致运行时错误或不正确的查询结果。
修复"failed to locate grouping columns"规划器失败的罕见情况 (Tom Lane)
-
修复有删除列的外表的pg_dump (Andrew Dunstan)
先前这种情况可能导致pg_upgrade错误。
重新安排相关扩展规则的pg_dump处理和事件触发(Joe Conway)
如果通过pg_dump -t或者-n指定,那么强制扩展表转储(Joe Conway)
提高视图转储代码对引用表中被删除的字段的处理 (Tom Lane)
使用显示正确格式名的目录归档修复pg_restore -l(Fujii Masao)
-
正确记录使用uniqUE和PRIMARY KEY语法创建的 索引注释(Andres Freund)
这将修复并行pg_restore故障。
造成pg_basebackup -x使用空xlog目录抛出错误而不是崩溃的原因 (Magnus Hagander, Haruka Takatsuka)
-
清理切换之前合理保证WAL文件传输(Fujii Masao)
以前,在备库上所有WAL文件被取代之前可能关闭流复制连接。
-
修复恢复期间WAL段时间线处理 (Mitsumasa Kondo, Heikki Linnakangas)
备用恢复期间回收WAL文件会导致恢复过早的完成,导致数据丢失。
阻止由于引用未初始化的空页而引起的WAL重放中的错误 (Andres Freund)
-
修复REINDEX TABLE和REINDEX DATABASE以 恰当的重新生效约束并且标记无效索引为有效(Noah Misch)
REINDEX INDEX一直正常工作。
在插入SP-GiST索引期间避免死锁(Teodor Sigaev)
在并发CREATE INDEX CONCURRENTLY操作期间修复可能死锁(Tom Lane)
修复GiST索引查找崩溃(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需要引用。
在COPY失败期间打印合适行数 (Heikki Linnakangas)
修复
pgp_pub_decrypt()
因此为带有密码的秘钥工作(Marko Kreen)让pg_upgrade使用pg_dump --quote-all-identifiers避免在版本之间关键字改变的问题(Tom Lane)
在清理无索引表中删除少有的不正确的警告(Heikki Linnakangas)
如果VACUUM ANALYZE截断文件的尝试由于锁冲突而取消, 确保它仍然运行ANALYZE (Kevin Grittner)
当在预备查询中执行事务控制命令(比如ROLLBACK)时,避免可能的失败(Tom Lane)
-
确保所有平台上浮点数据输入接受标准的"infinity"拼写 (Tom Lane)
C99标准指出允许的拼写是inf、+inf、-inf、 infinity、+infinity和-infinity。 确保我们能够认出它们,即使该平台的
strtod
函数不能认出。 当关闭track_activities的时候,避免不必要报告(Tom Lane)
扩展记录和数组比较行的能力(Rafal Rzepecki,Tom Lane)
当psql的PSQLRC变量包含一个波浪号防止崩溃(Bruce Momjian)
添加spinlock支持ARM64 (Mark Salter)
为了Israel, Morocco, Palestine,Paraguay中DST变化规律的DST变化规律更新时间区域数据文件到tzdata版本2013D。 同时为Macquarie Island修正历史区域数据(Tom Lane)