发布日期: 2016-10-27
此版本包含9.2.18的各种修补程序。有关9.2主要版本中的新功能的信息,请查看 第 E.82 节。
修复涉及CTE扫描的EvalPlanQual重新检查 (Tom Lane)
重新检查总是会将CTE视为不返回行,通常会导致无法更新最近更新的行。
修复子查询中散列聚合的先前结果的不正确重复 (Andrew Gierth)
测试以查看我们是否可以重用先前计算的聚合状态值的散列表, 忽略了外部查询引用出现在聚合参数表达式中的可能性。 这种引用的值的改变应该导致重新计算散列表,但是没有。
      当track_io_timing打开时,修复
	  EXPLAIN发出有效的XML (Markus Winand)
     
      以前,XML输出格式选项会产生语法上无效的标签,例如<I/O-Read-Time>。
	  现在这呈现为<I-O-Read-Time>。
     
      在EXPLAIN中禁止将无法测量的时间打印为零
	  (Maksim Milyutin)
     
      某些选项组合导致实际上并未在该组合中进行测量的时间打印零值。我们在
	  EXPLAIN中的一般策略是不打印这些字段,
	  所以在所有情况下都要一致。
     
      修复VACUUM等待独占表锁定时的超时长度,以便它可以截断表 (Simon Riggs)
     
      超时时间应该是50毫秒,但实际上它只有50微秒,导致VACUUM
	  比预期更容易放弃截断。将其设置为预期值。
     
      修复在创建或更改表时合并继承的CHECK约束中的错误
	  (Tom Lane, Amit Langote)
     
      允许按照任意顺序将相同的CHECK约束添加到父表和子表中。
	  阻止合并父表中的有效约束与子节点上的NOT VALID约束。
	  同样,阻止将NOT INHERIT子约束与继承约束合并。
     
      删除对numeric_in()和numeric_recv()
	  接受的值的人为限制
	  (Tom Lane)
     
      我们允许数值达到存储格式的限制(超过1e100000),
	  所以看起来毫无意义的是numeric_in()拒绝了高于1000的科学记数法指数。
	  同样,很愚蠢的是numeric_recv()在输入值中拒绝超过1000位。
     
避免由于在不保留缓冲区锁定的情况下测试元组可见性而造成非常低概率的数据损坏 (Thomas Munro, Peter Geoghegan, Tom Lane)
修复截断大于1GB的临时关系时的文件描述符泄漏 (Andres Freund)
      在开启了standby_mode时,不允许启动一个独立的后端
	  (Michael Paquier)
     
这不能做任何有用的事情,因为没有WAL接收器过程来获取更多的WAL数据; 这可能会导致代码中的错误行为,而这些代码在设计时并未考虑到这种情况。
不要尝试在libpq中的多个连接之间共享SSL上下文 (Heikki Linnakangas)
这导致了各种各样的极端情况错误,尤其是在尝试为不同的连接使用不同的SSL参数时。
避免libpq中极端情况内存泄露 (Tom Lane)
      所报告的问题涉及在PQreset()期间泄漏错误报告,但可能存在相关情况。
     
      让ecpg的--help和--version
      选项与我们的其他可执行文件保持一致 (Haribabu Kommi)
     
在pg_dump中,从不转储范围构造函数 (Tom Lane)
由于构造函数的重复创建,这种忽略导致pg_upgrade 扩展包含范围类型失败。
      修复contrib/intarray/bench/bench.pl以打印
      EXPLAIN在给出-e选项时的结果
      (Daniel Gustafsson)
     
更新Windows时区映射以识别最近Windows版本中添加的一些时区名称 (Michael Paquier)
防止过时的动态时区缩写失效 (Tom Lane)
      如果动态时区缩写与参考时区中的任何条目都不匹配,请将其视为等同于时区名称。
	  这避免了IANA从他们的时区数据库中删除缩写时的意外失败,就像他们在
	  tzdata release 2016f中所做的一样,并且似乎未来可能再次发生。
	  后果不限于不承认个人缩写;任何不匹配都会导致pg_timezone_abbrevs
	  视图完全失败。
     
将时区数据文件更新为tzdata release 2016h, 用于巴勒斯坦和土耳其的DST法律变更,以及对土耳其和俄罗斯一些地区的历史更正。 切换到南极洲、前苏联和斯里兰卡的一些时区的数字缩写。
      IANA时区数据库以前为所有时区提供了文本缩写,
	  有时会提供当地人口中流通很少或没有流通的缩写。他们正在推翻该政策,
	  赞成在没有现实世界中使用英文缩写的地区使用数字UTC偏移量。至少目前来说,
	  PostgreSQL将继续接受此类删除的时间戳输入缩写。
	  但它们不会显示在pg_timezone_names视图中,也不会用于输出。
     
      在此更新中,AMT不再显示为用于表示亚美尼亚时间。因此,
	  我们已将Default缩写集更改为将其解释为Amazon Time,
	  因此是UTC-4而不是UTC+4。