在linux (Centos)上执行postgres的次要版本升级的推荐方法是什么?我正在考虑从9.5.4升级到9.5.5。
发布于 2017-10-30 17:30:50
只需在Linux上执行dist-upgrade等操作,或在Windows/OSX上安装较新的版本。次要版本确保与数据目录(堆和索引)完全兼容。
当然,在升级过程中,您必须停止数据库。
次要版本是通过增加版本号的最后一部分来编号的。从版本10开始,这是版本号的第二部分,例如10.0到10.1;对于旧版本,这是版本号的第三部分,例如9.5.3至9.5.4。PostgreSQL团队只在次要版本中添加bug修复。所有用户都应该尽快升级到最新的小版本。虽然升级总是有一些风险,但PostgreSQL次要版本只修复经常遇到的、安全性和数据损坏的bug,以减少升级的风险。社会人士认为升级比升级风险更大。
因此,从本质上说,PostgreSQL是如此保守,以至于只有当不升级的风险大于升级时,才会发布较小的版本号升级。我在PostgreSQL公司工作了大约15年。我不做任何额外的备份,也不采取任何特别的预防措施,当做轻微的升级。不是说你不能--就连医生也说他们带着“一些风险”。
发布于 2017-10-30 18:37:41
简而言之,Postgres安装(也称为集群)的小升级相当简单:
对于一个生产系统和一个更加谨慎的DBA,还有两件事:
因此,这些步骤是:
pg_basebackup的整个集群或使用pg_dump的每个数据库)如果涉及到复制,您也必须考虑到这一点:
对于一个生产系统和一个更加小心的DBA,可以在升级之前进行备份:
这种情况下的一个变化是,如果我们停止一个或多个副本并使用旧的二进制文件,则可以跳过备份。如果出于任何原因,我们需要回到旧的小版本,我们可以推广该副本的主人。
例如,对于特定的9.5.5版本,发布说明说:
E.5.发布日期: 2016-10-27这个版本包含了9.5.4中的各种修正。有关9.5主要版本中的新特性的信息,请参阅E.10节。E.5.1.运行9.5.X的用户不需要迁移到9.5.5版本的转储/恢复。但是,如果您的安装受到了下面第一个changelog条目中描述的错误的影响,那么在更新之后,您可能需要采取行动修复损坏的空闲空间地图。另外,如果您正在从9.5.2之前的版本升级,请参见E.8节。
因此,我们也需要阅读第一个变更:
E.5.2.更改Fix截断关系空闲空间映射和可见性映射(Pavan Deolasee,Heikki Linnakangas)这些文件可能在崩溃恢复期间不能正确恢复,或者在备用服务器上写入错误。自由空间映射中的虚假条目可能导致尝试访问已被截断的与关系本身无关的页面,通常会产生像
"could not read block XXX: read only 0 of 8192 bytes"这样的错误。如果启用了校验和,则还可能出现可见性映射中的校验和失败。在https://wiki.postgresql.org/wiki/Free_空格_地图_问题上讨论了确定是否存在问题并修复该问题的过程。
因此,从9.5.4移到9.5.5并不需要转储/还原,您只需要检查这个特定的问题。检查您的错误日志,您就可以开始了;)
发布于 2020-11-22 19:54:56
yum update postgresql-versionhttps://dba.stackexchange.com/questions/189684
复制相似问题