Toggle navigation
PostgreSQL中文社区
首页
(current)
社区新闻
中文文档
加入ACE
相关资料
了解PostgreSQL
PostgreSQL相关文档
PostgreSQL软件下载
PostgreSQL中文图书
社区年会PPT资料
关于中文社区
注册
登录
所有版本列表
首页
新版本发布声明
PostgreSQL 10.2版本发布说明
翻译:
doudou586
... 新闻稿采编:
2018-02-10 09:57:51+08
软件发布:2018-02-08
2018-02-08,PostgreSQL全球开发小组发布了所有支持的数据库系统的版本更新,包括10.2,9.6.7,9.5.11,9.4.16和9.3.21版本。 此次版本发布修复了二个安全问题,还修复了有关VACUUM、GIN索引、哈希索引、并行查询和逻辑复制问题。 所有使用受影响版本的用户应尽快升级。请浏览本文档中以下“更新”段落中有关更新后需处理的操作。 请注意,PostgreSQL更新了10.0及以后版本升级命名的规则,所以自10.0或10.1以来的更新版本10.2,是算作小版本的更新。 ### 安全问题 本次版本发布经修复的二个安全漏洞: - CVE-2018-1052: 修正包含多个表达式的分区表键的处理方式; - CVE-2018-1053: 确保由“pg_upgrade”所生成的临时文件不能被所有人可读取; ### Bug修复和改进 本次更新也修正了60多个最近几个月用户反馈的Bug。一些Bug只影响10.0版本,但也有很多影响所有仍在支持中的版本。 - 修正因处理包含多个表达式的分区表键可能会造成系统宕机或是系统内存的暴露; - 修正因允许pg_upgrade所创建的文件对对所有人可读取,可能会造成包含数据库密码的暴露问题; - 修正当“key-share”被锁定时,已废弃的行记录可能不能被VACUUM清理掉,从而可能造成数据一致性问题; - 通过确保插入记录的列表可以被VACUUM清除来修正GIN索引的膨胀问题; - 修正由于不能标记元数据页为脏页而造成哈希索引可能的一致性问题; - 修正在执行一个含有位图查询时不能分配内存的并行查询问题,从而造成可能的宕机; - 修正几处潜在的可能宕机场景,也是因并行工作进程不能启动的并行查询问题; - 修正并行工作进程的EXPLAIN规划输出汇总问题; - 当多个运行CREATE INDEX CONCURRENTLY操作时防止假的死锁; - 修正在使用逻辑复制时的触发器操作问题; - 几处对walsender功能的修正,对提升稳定性和对复制过程的跟踪; - 修正对宕机后的事务恢复时,清理磁盘文件时的逻辑解码问题; - 几处对identity列的修正,包括不允许identity列继承于复合类型和分区表; - 修正对逻辑和数组类型作为分区表键的约束列表操作; - 修正了当一个表是混合继承了正常表和外部子表的情况下,UPDATE和DELETE的查询规划不合理的情况; - 修正涉及可转化为普通JOIN的子查询在与GROUPING SET组合使用时可能产生的不正确的查询结果; - 修正UNION/INTERSECT/EXCEPT对0列的处理,比如"SELECT UNION SELECT;" - 几处对LATERAL子查询的优化; - 几处对查询规划器的预估算法的优化; - 允许一个支持SCRAM通道绑定的客户端,如将来的PostgreSQL版本或是libpq库,来连接PostgreSQL 10服务器; - 修正示例INSTR()函数代码,该示例用于帮助从Oracle(r) PL/SQL 向PostgreSQL PL/pgSQL迁移时匹配Oracle函数的表现; - 修正pg_dump的处理,以使它有关权限(ACL)、安全标识和注释内容等存档输出更清晰正确; - 修正contrib/cube模块下的"cube ~> int" 操作符的处理,以使它兼容KNN搜索。这是一个向后不兼容的变化,使用这个操作符的表达式索引或是物化视图需要重新索引或是数据刷新。 - 几处对contrib/postgres_fdw的更新以防止查询规划器的错误; - 增加contrib/start-scripts/macos目录下,用于MACOS的最新的自动启动的脚本示例; - 对Windows平台下系统的更新,包括postmaster启动脚本以及对libperl Spinlock的更新以支持Motorola 68K 和88K的架构。 本次更新也包含2018c的时区数据,包含对巴西、圣多美和普林西比夏时制数据的更新, 以及对玻利维亚、日本和南苏丹时区数据的更新。美国/太平洋-新区的数据已移除(因其仅是美国/洛杉矶时区的别名)。 ### 更新 所有PostgreSQL的更新版本是累进方式的。对一般小版本的更新,并不需要用户对数据进行导出和导入或是使用pg_upgrade进行更新,只需要停止PostgreSQL服务,更新一下服务器的二进制文件即可。 如果你的版本是受下列问题的影响,可能还需要执行以下额外的操作: - 用户的版本如受GIN和哈希索引问题的影响还需要考虑重建这些索引 - 用户如曾拷贝PostgreSQL文档中的INSTR例子的代码,需要检查一下代码来确认一下是否需引用修正后的INSTR示例代码。 - 用户在“contrib/cube”模块中使用 "~>" 操作符对表达式索引或是物化视图的操作需要相对应地重新索引或是刷新数据。这个变化也不是向后兼容的,所以在发布至正式环境前,请测试使用了这个操作符的代码。 - 用户跳过了一个或是多个补丁版本可能也需要额外的后续操作,请浏览[详细的发布说明](https://www.postgresql.org/docs/current/static/release.html)来检查更早版本升级的细节。 ### 相关链接: - [下载](https://www.postgresql.org/download) - [产品发布详细新闻](https://www.postgresql.org/docs/current/static/release.html) - [安全说明页面](https://www.postgresql.org/support/security/) - [版本策略](https://www.postgresql.org/support/versioning/)
© 2010 PostgreSQL中文社区