PostgreSQL 9.6.1,9.5.5,9.4.10,9.3.15,9.2.19和9.1.24发布!

PostgreSQL 9.6.1,9.5.5,9.4.10,9.3.15,9.2.19和9.1.24发布!

大家好,又见面了,我是全栈君。

##### 翻译:亭亭小次郎@飞象

英文链接

PostgreSQL全球开发组在2016-10-27日 发布了PostgreSQL数据库系统中所有支持版本的更新, 包括9.6.1,9.5.5,9.4.10,9.3.15,9.2.19和9.1.24。 这也是PostgreSQL 9.1系列的最后一次更新, 因为它现在结束维护生命周期。 此版本修复了两个可能导致数据损坏的问题,下 面将对此进行更详细的介绍。

它还补丁了过去三个月中报告的一些其他错误。 该项目敦促用户在下次可能的停机时间应用此更新。

截断关系的WAL日志记录

在此版本之前,存在一个可能遇到的问题, PostgreSQL实例将尝试访问不再存在于磁盘上的数据。 如果可用空间映射未更新以了解截断, 则 PostgreSQL 数据库可能返回已被截断的页面, 并产生如下错误:

ERROR:  could not read block 28991 in file "base/16390/572026": read only 0 of 8192 bytes

如果启用校验和,则还会出现可见性映射中的校验和故障。

这个问题存在于 PostgreSQL 的9.3,9.4,9.5和9.6系列的版本中。

pg_upgrade在大端机器上的问题

在大端机器(例如许多非Intel CPU架构)上,pg\_upgrade不正确地写入可见性映射的字节, 导致 pg\_upgrade无法完成。

如果你使用的是big-endian机器(许多非Intel架构都是big-endian) 并且使用pg_upgrade从9.6之前的版本升级, 你应该假定所有的可见性映射都不正确,需要重新生成。 使用 contrib/pg_visibilitypg_truncate_visibility_map() 函数截断每个关系的可见性映射就行了。 请阅读更新部分, 查阅文章末尾提到的安装说明, 可以了解相关在PostgreSQL实例上解决此问题的方法。

这个问题只存在于PostgreSQL 9.6.0版本中。

Bug修复和相关改进

除了上述,此更新还修复了在过去几个月中报告的一些错误。 其中一些问题只影响9.6系列,但许多问题影响所有社区支持的版本。 此版本更新超过了50个修订,包括:

  • 修复使用 DISTINCT 执行聚合函数时的后用后危险,这可能导致崩溃
  • 修复了用作窗口函数的多态聚合的不正确处理,这可能导致崩溃
  • 修复在big-endian机器上不正确创建GIN索引的WAL记录
  • 修复在截断大于1GB的临时表时, 文件描述符泄漏
  • 修复拥有PRIMARY KEY或REPLICA IDENTITY索引的表, 批量UPDATE时,查询内存泄漏
  • 修复SELECT FOR UPDATE/SHARE, 以正确锁定由后续中止的事务更新的元组
  • 使用已启用行级安全性的表中的列名列表修复COPY
  • 修复删除推测性插入的TOAST元组时退出 INSERT … ON CONFLICT
  • 修复VACUUM等待排它表锁定时的超时长度,以便它可以截断表
  • 在创建或更改表时修复合并中的错误继承的CHECK约束
  • 修复jsonb_set()中数组元素的替换的bug
  • 修复在btree索引中中止使用缩写键时可能出现的排序错误
  • 在Windows上,在访问被拒绝错误后,重试创建动态共享内存控制段
  • 修复 pgbench 的平均延迟计算
  • 使pg_receivexlog 使用参数 –synchronous无插槽时正确执行
  • 使pg_rewind在源服务器上的会话中关闭synchronous_commit
  • 不要尝试在libpq中的多个连接之间共享SSL上下文
  • 支持OpenSSL 1.1.0
  • 添加了TAP测试基础组件,使其可用于扩展模块的测试
  • 逻辑WAL解码和复制槽的几个修复
  • 在pg_dump,pg_xlogdump和pg_upgrade中存在的几个小问题的修复
  • 对查询计划器和EXPLAIN输出中的小问题的几个修复
  • 时区支持的几个修复

此更新还包含tzdata版本2016h为巴勒斯坦和土耳其的DST法律变化, 加上土耳其和俄罗斯一些地区的历史修正。 在南极洲,前苏联,斯里兰卡,切换到某些时区的数字缩写的问题。

IANA时区数据库中,以前为所有时区提供了缩写文本, 即使当地人口中几乎没有或没有货币的缩写。 他们正在改变这一策略, 倾向于在没有实际使用英语缩写的证据的区域中使用数字UTC偏移。 至少暂时,PostgreSQL将继续接受这样删除的缩写的时间戳输入。 但它们不会显示在pg_timezone_names视图中,也不用于输出。

在此更新中,AMT不再显示为正在使用中的亚美尼亚时间。 因此,我们更改了默认缩写集以将其解释为Amazon Time, 因此使用UTC-4而不是 UTC+4

9.1版本维护终结,以及注意事项

PostgreSQL版本9.1现在是End-of-Life(EOL)。

此版本的社区不会发布其他内容的更新或安全修补程序。 但仍然要求9.1的用户尽快升级。 相关详细信息, 请参阅我们的 版本控制策略

##更新

所有PostgreSQL更新版本都是累积的。 与其他次要版本一样,用户不需要转储和重新加载其数据库, 或使用pg_upgrade应用此更新版本; 你可以简单地关闭PostgreSQL数据库,并更新其二进制文件实现更新。

如果你的系统受到大端系统pg_upgrade错误的影响, 请阅读可见性映射问题, 并按照说明,解决你的PostgreSQL实例上的这个问题。

跳过一个或多个更新版本的用户可能需要运行其他更新后步骤; 有关详细信息,请参阅早期版本的发行说明。

转载于:https://my.oschina.net/innovation/blog/777059

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108818.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • cuda 卸载_ubuntu怎么卸载cuda

    cuda 卸载_ubuntu怎么卸载cudahttps://blog.csdn.net/Teeyohuang/article/details/81052770cuda删除有效版本

  • redis的lettuce_redis客户端lettuce

    redis的lettuce_redis客户端lettuce1、Jedis优点:提供了比较全面的Redis操作特性的APIAPI基本与Redis的指令一一对应,使用简单易理解缺点:同步阻塞IO不支持异步线程不安全2、Lettuce优点:线程安全基于Netty框架的事件驱动的通信,可异步调用适用于分布式缓存缺点:API更抽象,学习使用成本高…

  • python3 gil锁_python锁有哪几种

    python3 gil锁_python锁有哪几种前言python的使用者都知道Cpython解释器有一个弊端,真正执行时同一时间只会有一个线程执行,这是由于设计者当初设计的一个缺陷,里面有个叫GIL锁的,但他到底是什么?我们只知道因为他导致pyt

  • noip2013普及组复赛答案_noip2020初赛

    noip2013普及组复赛答案_noip2020初赛Prob.1转圈游戏找到循环节,然后快速幂。代码:#include<cstdio>#include<cstring>#include<iostream>usingnamespacestd;intpos[1000005],vis[1000000];intn,m,k,x,p,mod;intpow(…

    2022年10月25日
  • 密码–暴力激活成功教程

    密码–暴力激活成功教程1.海德拉(Hydra)hydra是世界顶级密码暴力密码激活成功教程工具,支持几乎所有协议的在线密码激活成功教程,功能强大,其密码能否被激活成功教程关键取决于激活成功教程字典是否足够强大,在网络安全渗透过程中是一款必备的测试工具。root@kali2019:~#hydra-Luserlist.txt-Ppasswordlist.txt-t20192.168.106.134ssh我们先建立简单的字典…

  • pycharm如何设置官方中文?pycharm如何汉化?pycharm终于支持官中了!!![通俗易懂]

    pycharm如何设置官方中文?pycharm如何汉化?pycharm终于支持官中了!!![通俗易懂]文章目录汉化方法官方汉化与第三方对比Java的idea在更新2020.1时就更新了官方汉化,当时Pycharm还没用出现汉化,但这两天提示我更新2020.1.1的时候,我发现pycharm也出现了官方汉化,在此建议你要是想用官方汉化,先把你的pycharm升级为最新版本。汉化方法打开pycharm左上角的file(文件)>选择settings(设置)>打开plugins(插件)>搜索chinese(中文插件),下载好后重启pycharm。官方汉化与第三方对比这里使用

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号