E.19. 版本 9.3.12
发布日期: 2016-03-31
这个版本包含各种自9.3.11以来的修复。关于9.3主版本的新特性信息, 请查看第 E.31 节。
E.19.1. 迁移到版本9.3.12
对于运行9.3.X的用户,不需要转储/恢复。
不过,如果你是从一个早于9.3.9的版本升级而来,请查看第 E.22 节。
E.19.2. 修改列表
-
修复索引的ROW()比较中NULL索引项的不正确处理 (Tom Lane)
使用行比较的索引搜索比如ROW(a, b) > ROW('x', 'y')将在到达b列中的NULL条目时停止, 忽略可能存在与a的稍后值相关联的非NULL b值的事实。
避免由于重命名文件之前或之后没有适当的
fsync()
调用,导致不太可能的数据丢失情况 (Michael Paquier, Tomas Vondra, Andres Freund)正确处理在服务器启动期间pg_subtrans接近XID wraparound的情况 (Jeff Janes)
修复由于多次尝试释放
localeconv()
输出字符串而导致的极端崩溃 (Tom Lane)-
修复ispell字典的附加文件的解析 (Tom Lane)
如果附加文件包含字节长度在大小写折叠期间变化的字符, 例如土耳其语在UTF8区域设置中的I,则代码可能会出错。
-
避免使用
sscanf()
解析ispell 字典文件 (Artur Zakirov)这避免了FreeBSD派生平台上的可移植性问题(包括 OS X)。
-
避免在具有支持AVX2 CPU的旧版Windows版本(在7SP1/2008R2SP1之前)上崩溃, 并使用Visual Studio 2013完成Postgres构建 (Christian Ullrich)
这是Visual Studio 2013运行库中的一个错误的解决方法, Microsoft已经声明他们不会在该版本中修复。
修复psql的tab完成逻辑,以正确处理多字节字符 (Kyotaro Horiguchi, Robert Haas)
-
为SECURITY LABEL修复psql的tab完成 (Tom Lane)
在SECURITY LABEL之后键入TAB可能会导致崩溃或提供不适当的关键字。
-
如果在命令行中没有指定,则让pg_ctl从PGCTLTIMEOUT 环境变量中接受一个等待超时 (Noah Misch)
通过允许他们对postmaster启动和关闭全局指定一个长于正常的超时, 可以方便测试较慢的buildfarm成员。
-
修复pg_ctl中Windows服务状态的不正确测试 (Manuel Mathar)
上一组小版本尝试修复pg_ctl 以正确确定是否将日志消息发送到Windows事件日志,但是测试弄反了。
修复pgbench以正确的处理-C 和-M prepared选项的组合 (Tom Lane)
-
在pg_upgrade中,当新数据目录位于旧数据目录内时, 跳过创建删除脚本 (Bruce Momjian)
在这种情况下,盲目应用脚本将导致新的数据目录丢失。
在PL/Perl中,将空的Postgres数组正确的翻译为空的Perl数组 (Alex Hunsaker)
使PL/Python处理不是有效Python标识符的函数名称 (Jim Nasby)
修复contrib/pgstattuple的
pgstatindex()
函数返回的多个统计错误 (Tom Lane)删除MSVC构建中对psed的依赖,因为核心Perl不再提供它了 (Michael Paquier, Andrew Dunstan)
更新时区数据文件为tzdata release 2016c, 因为阿塞拜疆、智利、海地、巴勒斯坦和俄罗斯(Altai, Astrakhan, Kirov, Sakhalin, Ulyanovsk 区域)的DST法律变更,加上立陶宛、 摩尔多瓦和俄罗斯(Kaliningrad, Samara, Volgograd)的历史更正。