如何手动升级Red Hat、Linux系统中的 PostgreSQL 版本
前言
今天我在对AWS的RDS进行了升级,将红帽6.7系统中的旧版本11的PostgreSQL升级到了新版本12.15。在升级过程中,遇到了一些问题,发现使用yum升级报错,导致错误的原因是rh-amazon-rhui-client这个包存在问题。
其主要原因就是系统太老yum需要升级。
大概包错为
Could not contact any CDS load balancers: https://rhui3.ap-northeast-1.aws.ce.redhat.com/pulp/content/
为了解决这个问题,我研究了一种手动安装的方法,以便有效地升级 PostgreSQL,并将这个过程分享给大家。
问题诊断和解决思路
经过分析,我发现升级 PostgreSQL 需要解决rh-amazon-rhui-client包的问题。然而,针对该包的官方修复方案较为复杂,而且耗时较长。具体的方法你可以参考这个网址:https://qiita.com/machikun0000/items/526eb53291a7fd9db39f。
因此,我决定采用手动安装的方法来解决这个问题。下面是我进行升级的详细步骤和想法:
1.准备工作
首先,我在PostgreSQL官方网站找到了对应系统的rpm包下载地址。你可以参考这个网址https://yum.postgresql.org/rpmchart/找到对应系统的包。
然后,使用wget命令下载了需要的包,并确保安装wget工具。然后,使用wget命令下载了需要的包,并确保安装wget工具。命令如下所示:
wget 下载链接 --no-check-certificate #这里加上了–no-check-certificate选项是为了跳过验证过程。
就像这样
2.安装依赖
我按照正确的顺序安装了postgresql12-libs、postgresql12和postgresql12-server。这些依赖包是升级 PostgreSQL 所必需的组件也包含本体。你可以使用下面的命令来安装rpm包
sudo rpm -Uvh /path/to/package-file.rpm
#这里的/path/to/package-file.rpm需要替换成具体的路径
因为我为了截图演示,所以使用了red9版本的系统发现psql的lib也装不上,可以安装libicu依赖解决
3.验证安装
安装完成后,我通过运行"psql –version"命令来验证新版本的 PostgreSQL 是否成功安装。这一步骤非常重要,以确保升级过程顺利进行并且版本一致。
psql --version
psql (PostgreSQL) 12.10
总结
手动升级红帽系统中的 PostgreSQL 版本可以是一个有效的解决方案,尤其在遇到特定包存在问题时。通过下载正确的rpm包,并按照正确的顺序安装依赖组件,我们可以成功完成升级过程。这种方法相对于去解决yum问题和复杂的官方修复方案来说,更加简便和高效。
尽管手动安装需要一些额外的工作,但它可以节省我们的时间,并且在长期使用中能够持续解决问题。这种方法不仅可以应用于 PostgreSQL 的升级,还可以用于其他软件的手动安装和升级过程。
希望本篇教程对你有所帮助!如果你在升级过程中遇到任何问题或有其他想法,请随时与我分享。我将尽力提供帮助和解答你的疑问。
你还可以参考这个网址获取更多详细的信息:https://qiita.com/machikun0000/items/526eb53291a7fd9db39f。
这样的博客教程将提供了一个详细的手动升级红帽系统中 PostgreSQL 版本的指南,并包含了参考网址作为额外的资源。