Toggle navigation
PostgreSQL中文社区
首页
(current)
社区新闻
中文文档
加入ACE
相关资料
了解PostgreSQL
PostgreSQL相关文档
PostgreSQL软件下载
PostgreSQL中文图书
社区年会PPT资料
关于中文社区
注册
登录
所有版本列表
首页
新版本发布声明
PostgreSQL 11.0 Beta3版本发布说明
翻译:
doudou586
... 新闻稿采编:
2018-08-12 23:50:52+08
软件发布:2018-08-09
2018-08-09,PostgreSQL全球开发组发布所有提供维护的版本的补丁版本,包括10.5, 9.6.10, 9.5.14, 9.4.19, 9.3.24 版本。这些补丁版本修正了2个安全问题以及最近三个月用户反馈的Bug。 如果用户正在使用9.5或以后的版本并且设置了常规的用户访问方式,或者是安装了dblink或是postgres_fdw扩展,请尽快升级为最新的修正版本,其他用户可以在将来停机时进行升级。 请注意自10.0版本开始,PostgreSQL已改变了版本命名的规划,所以从任何10.X版本升级至10.5,只算是一个小的版本升级(即非主版本升级)。 PostgreSQL全球开发组同时也发布了PostgreSQL 11.0 的第三个Beta版本,同时提供下载。这个版本包含将来PostgreSQL 11正式版本中的所有特性和功能(当然一些功能的细节在正式版本发布时可能会有些变化),同时也修正了自第二个beta版本以来用户反馈的Bug。 ## 安全问题 2个安全漏洞已在这些版本中进行了修正: ### CVE-2018-10915: 特定情况下的连接参数会导致客户端安全失效 libpq库作为PostgreSQL的客户连接API,也会被其他连接库使用。它有一个内部的问题,即当它进行重连时,没有对它的连接状态变量进行复位。在特定的情况下,这些状态变量决定了一个连接是否需要一个密码,比如对dblink或是postgres\_fdw扩展来说,它们没有被复位后,重新登录服务器可能不成功。 用户可以通过在psql中运行以下指令来检查是否安装了上述扩展: ``` \dx dblink|postgres_fdw ``` 建议用户尽快升级他们的libpq库文件。 PostgreSQL全球开发组感谢Andrew Krasichkov报告了这个问题。 ### CVE-2018-10925: 在使用INSERT ... ON CONFLICT DO UPDATE指令时内存泄漏和权限丢失 一个可以使用CREATE TABLE权限的用户通过使用upsert指令(INSERT ... ON CONFLICT DO UPDATE)可以读取服务器的内存内容。缺省情况下,用户会利用到这一点。对一个指定的表具有至少一列有INSERT和UPDATE权限的用户,可以通过视图或是upsert指令来更新其他列。 ## BUG 修正和改进 本次更新也修正了最近几个月收集的超过40个Bug。一些Bug只影响10.0版本,但大多数影响所有在支持的版本。 更新包括: - 几处有关VACUUM的更新,包括一个在系统目录表中可能导致数据一致性问题的Bug。 - 几处有关WAL日志重写的更新,包括一种特定的场景下的问题,即一个刚提升的备机,在它在第一个恢复后的检查点前宕机后,可能会不能启动。 - 几个有关WAL日志重写的性能改进。 - 几个有关逻辑复制和解码的更新,包括确保逻辑WAL发送进程可以正确反馈它的流状态。 - 允许复制站位可以在单用户的维护模式进行删除。 - 在执行并行查询时,修正一些可变或相似的聚合函数,以返回正确的结果。 - 修正SQL标准的FETCH FIRST 指令语法,以使其符合标准要求的使用参数($n)。 - 对执行并行索引扫描的进程操作更新,以使其响应系统信号,比如放弃查询的信号。 - 修正 EXPLAIN 指令对系统资源使用的要求,特别是并行进程对缓存的存取。 - 几处对查询规划器的更新,包括对hash-join和对复合列类型的索引进行mergejoin时的查询成本估算处理。 - 修正对多CPU的Linux和FreeBSD系统下有关POSIX信号处理的性能改进。 - 修正从一个PostgreSQL 9.4版本使用pg\_upgrade升级后,GIN索引可能导致一个assert断言错误的问题。 - 修正执行SHOW ALL显示超级用户的配置参数后,普通角色可以浏览所有配置的问题。 - 修正在执行COPY FROM .. WITH HEADER 指令时,每处理4,294,967,296行后会丢失一行的问题。 - 几处有关 XML支持的更新,包括使用文档节点作为XPath查询的上下文,这也是SQL标准要求的,这些更新影响xpath 和 xpath_exists 函数和 XMLTABLE。 - 修正libpq库中在hostaddr参数使用的一些场景处理。 - 几处有关Windows平台下ecpg的更新。 - 修正Windows下一些客户端软件密码输入的提示,这样一些系统相关echo回显可以禁止显示。 - 几处有关 pg\_dump 的更新,包括对索引的REPLICA IDENTITY 正确输出。 - 更新以让 pg\_upgrade检查升级前的服务器是否安全停止服务。 本次更新也包括2018e版本的时区数据,包括对北朝鲜时区的更新。2018e版本的时区数据重新引入了负的-DST,其最早在2018a版本也使用过,它影响爱尔兰(1971-)历史和现在的时间戳数据,也影响纳米比亚(1994-2017) 和前 捷克斯洛伐克 (1946-1947)的数据。如果你的应用程序保存有这些受影响的时区数据,用户需要测试应用以确保应用有如期望的那样结果。 ## POSTGRESQL 11 BETA 3 版本的更新和改进 PostgreSQL 11 Beta 3版本包括一些以前版本中的累积更新和超过20多个其自身版本的更新。有关对PostgreSQL 11 Beta 3版本的完整更新列表,请参阅[PostgreSQL 11.0 版本待处理的问题](https://wiki.postgresql.org/wiki/PostgreSQL_11_Open_Items) 页面。 ## 对PostgreSQL 9.3版本停止维护支持的提示 PostgreSQL 9.3 版本将在11月发布了下一个计划的更新版本后就会结束维护周期。我们建议仍使用此版本的用户开始规划尽快升级至新版本。可浏览 [新版本命名策略](https://www.postgresql.org/support/versioning/) 以了解更多信息。 ## 更新升级 所有PostgreSQL的补丁版本都是累积更新的。对小的版本更新,用户是不需要对数据库进行导出再导入,或是使用pg\_upgrade工具来进行升级。用户只需要将PostgreSQL停止服务,然后将PostgreSQL自身的系统文件进行更新即可。 对跳过一个或是多个补丁版本更新的用户,可能需要进行一些额外的的操作或是文件更新后的步骤。请浏览 [发布声明详稿](https://www.postgresql.org/docs/current/static/release.html) 来了解对更早一些版本升级时的细节。 ## 升级至POSTGRESQL 11 BETA3 版本 要从Beta1、Beta2版本或是更早的版本升级至PostgreSQL 11 Beta3版本,用户需要使用类似大版本间的升级策略(如使用pg\_upgrade工具或是 pg\_dump / pg\_restore的数据导出导入方式)。更多信息请参考文档中有关 [升级](https://www.postgresql.org/docs/11/static/upgrading.html) 的段落。 ## POSTGRESQL 11 BETA发布安排 这是11.0版本的第三个Beta测试版本,PostgreSQL项目组还会根据测试情况发布更多测试版本,然后会发布一个或多个备选RC版本,准备在2018年底发布正式版本。更多信息请参考我们的[Beta测试信息](https://www.postgresql.org/developer/beta/)页面。 每一个PostgreSQL版本的稳定性都依赖于广大用户和社区使用自己的工作负载和测试工具来发现Bug及进行回归测试。我们非常感谢所有参与测试的用户,你们的工作让我们可以更快地接近正式版本的发布。用户的反馈和测试将帮助我们决定对新特性的最终优化,所以请继续进行测试。用户测试的质量将帮助我们决定何时可以发布最终版本。 在PostgreSQL的Wiki上有一个仍在处理中问题列表。用户也可以使用PostgreSQL网站上的如下表格上报Bug: https://www.postgresql.org/account/submitbug/ ## 相关链接 - [下载链接](https://www.postgresql.org/download/) - [发布声明详稿](https://www.postgresql.org/docs/current/static/release.html) - [PostgreSQL 11版本发布声明详稿](https://www.postgresql.org/docs/11/static/release-11.html) - [安全问题说明](https://www.postgresql.org/support/security/) - [Beta测试信息](https://www.postgresql.org/developer/beta/) - [PostgreSQL 11待处理问题](https://wiki.postgresql.org/wiki/PostgreSQL_11_Open_Items) - [新版本命名策略](https://www.postgresql.org/support/versioning/) - [PostgreSQL的Twitter帐号](https://twitter.com/postgresql)
© 2010 PostgreSQL中文社区