如何手动升级Red Hat、Linux系统中的 PostgreSQL 版本
如何手动升级Red Hat、Linux系统中的 PostgreSQL 版本

如何手动升级Red Hat、Linux系统中的 PostgreSQL 版本

内容纲要

如何手动升级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/找到对应系统的包。

截屏2023-07-18 23.09.40

然后,使用wget命令下载了需要的包,并确保安装wget工具。然后,使用wget命令下载了需要的包,并确保安装wget工具。命令如下所示:

wget 下载链接 --no-check-certificate    #这里加上了–no-check-certificate选项是为了跳过验证过程。

就像这样

截屏2023-07-18 23.26.11

2.安装依赖

我按照正确的顺序安装了postgresql12-libs、postgresql12和postgresql12-server。这些依赖包是升级 PostgreSQL 所必需的组件也包含本体。你可以使用下面的命令来安装rpm包

sudo rpm -Uvh /path/to/package-file.rpm
#这里的/path/to/package-file.rpm需要替换成具体的路径

截屏2023-07-18 23.41.49

因为我为了截图演示,所以使用了red9版本的系统发现psql的lib也装不上,可以安装libicu依赖解决

截屏2023-07-18 23.47.04

3.验证安装

安装完成后,我通过运行"psql –version"命令来验证新版本的 PostgreSQL 是否成功安装。这一步骤非常重要,以确保升级过程顺利进行并且版本一致。

psql --version
psql (PostgreSQL) 12.10

总结

手动升级红帽系统中的 PostgreSQL 版本可以是一个有效的解决方案,尤其在遇到特定包存在问题时。通过下载正确的rpm包,并按照正确的顺序安装依赖组件,我们可以成功完成升级过程。这种方法相对于去解决yum问题和复杂的官方修复方案来说,更加简便和高效。

尽管手动安装需要一些额外的工作,但它可以节省我们的时间,并且在长期使用中能够持续解决问题。这种方法不仅可以应用于 PostgreSQL 的升级,还可以用于其他软件的手动安装和升级过程。

希望本篇教程对你有所帮助!如果你在升级过程中遇到任何问题或有其他想法,请随时与我分享。我将尽力提供帮助和解答你的疑问。

你还可以参考这个网址获取更多详细的信息:https://qiita.com/machikun0000/items/526eb53291a7fd9db39f

这样的博客教程将提供了一个详细的手动升级红帽系统中 PostgreSQL 版本的指南,并包含了参考网址作为额外的资源。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注