... 新闻稿采编:
2015年10月08日,PostgreSQL全球开发组织最近发布了一系列(在维护支持)数据库版本的更新,包括9.4.4, 9.3.10, 9.2.14,9.1.19和9.0.23版本。这次发布的版本修正了两个安全漏洞,还有最近4个月发现的若干BUG。使用存在安全漏洞版本的用户应该立刻更新他们的系统,其他用户也应该在下次服务器停机时间内更新好。对9.0系列版本,这也是最后一次系统更新的发布。
安全修复
在这次安全更新修复了两个安全漏洞,PostgreSQL用户受到影响的有以下特性:
- CVE-2015-5289:由用户随意输入json 或者jsons格式的值造成数据库崩溃,进而引起服务器拒绝接收命令。
- CVE-2015-5288:可选的pgCrypto扩展中包含的crypt()函数,可以被利用来读一些额外的内存,这个漏洞已经解决。
PostgreSQL项目组感谢Josh Kupershmidt 和Oskari Saarenmaa,(及时)报告了的这些问题。
此次更新默认禁用SSL协议的二次会话机制。之前它是默认是开启的。SSL协议二次会话机制也将会从之后的9.5版本中移除。
其他修复和改进
除以上所说,基于最近几个月我们用户反映的bug而进行的更新发布的同时也修复了其他问题,这些修复包括:
- 防止多重嵌套的正则匹配,LIKE和SIMILAR等导致服务器崩溃。
- 正则表达式的多个其他修复。
- 确保ALTER TABLE为CONSTRATNT设置所有类型的锁。
- 修复当游标失败时子事务的清理,防止数据库系统崩溃。
- 如果设置了commit_delay此参数,可以防止在WAL flush到磁盘的过程中出现死锁。
- 修复锁住更新可更新的视图的问题。
- Prevent corruption of relation cache "init file"。
- 提高大型SPI查询性能
- 提供LISTEN启动时间。
- SSL协议二次会话机制默认设置disable。
- 降低*_freeze_max_age设置的参数。
- 限制wal_buffers 最大值为2GB。
- 在几个方面防止堆栈溢出。
- Fix handling of DOW and DOY in datetime input。
- 允许正则表达式查询将被取消。
- 修复执行计划的各种BUG。
- 修复几个数据库关闭问题。
- Make anti-wraparound autovacuuming more robust。
- 修复关于GIN和SP-GiST索引带来的问题。
- 修复PL/Python,PL/Perl and PL/Tcl的一些问题。
- 改进pg_start_statements插件垃圾数据收集。
- 改进对pgsql_fdw外部表处理能力。
- 改进libpq对内存溢出条件的处理。
- 当没有连接时,防止psql崩溃。
- 对pg_dump多个方面的修复,包括文件和对象权限。
- 提高从老版本的PostgreSQL进行备份操作的权限。
- 这些修复同样适用Alpha, PPC, AIX 和Solaris 这些平台。
- 修复在Windows中以中文简体字符启动的问题。
- 修复Windows install.bat脚本在处理文件名空间的问题。
- PostgreSQL版本号的数字在扩展模块中也使用数值型。
这次更新也包括tzdata release 2015g,涉及到地区:开曼群岛(拉丁美洲),斐济,摩尔瓦多,诺福克岛(澳大利亚位于西南太平洋的岛屿),朝鲜,土耳其,乌拉圭,美国新开发区。
9.0版本最终更新
9.0.23是9.0版本的最终升级,9.0版本现在按计划会停止支持。将来的安全更新将不会包括9.0版本。因此,使用此版本的用户应该计划好尽快升级更新的主版本。如果想要看到有关社会团体的支持政策和EOL规划,可以参看 Versioning Policy(版本管理政策)。
更新
所有PostgreSQL更新发布是按累计方式的。对于本次以及其他的小版本的更新,用户不需要通过先导出再导入的方式来升级数据库,也不必使用pg_upgrade功能来应用此更新。用户只需将PostgreSQL服务暂停,然后将PostgreSQL自身的可执行文件更新即可。而对已经跳过多次版本发布且未更新系统的用户可能需要执行额外的后续更新步骤,具体可参看更新提示来操作。