无法获取RHEL 7的Postgres 12.13安装程序,咨询升级最优方案
PostgreSQL 12.5 升级到 12.13(RHEL 7 环境)的优化方案
针对你在RHEL 7上无法找到PostgreSQL 12.13预编译安装包的情况,完全不需要通过备份/恢复全量数据库来完成小版本升级,以下是更高效的替代方案:
方案1:从源码编译安装PostgreSQL 12.13(最可靠的自定义安装方式)
PostgreSQL小版本(同一主版本号,如12.x)升级仅需替换二进制文件,无需迁移数据。步骤如下:
- 安装编译依赖:
yum install gcc make readline-devel zlib-devel openssl-devel libxml2-devel libxslt-devel - 下载PostgreSQL 12.13源码包,解压后进入源码目录:
wget https://ftp.postgresql.org/pub/source/v12.13/postgresql-12.13.tar.gz tar zxf postgresql-12.13.tar.gz cd postgresql-12.13 - 配置编译参数(指定安装路径,避免覆盖旧版本):
若旧版本启用了特定扩展或特性,可通过旧版本的./configure --prefix=/usr/local/pgsql-12.13pg_config --configure查看原有配置,在configure中添加对应参数保持一致。 - 编译并安装:
make && make install - 替换旧版本二进制文件:
- 停止PostgreSQL服务:
systemctl stop postgresql-12 - 备份旧的二进制目录:
mv /usr/pgsql-12/bin /usr/pgsql-12/bin.12.5 - 创建软链接指向新编译的二进制:
ln -s /usr/local/pgsql-12.13/bin /usr/pgsql-12/bin
- 停止PostgreSQL服务:
- 启动服务并验证版本:
systemctl start postgresql-12 psql -V # 应显示psql (PostgreSQL) 12.13 - 最后更新数据库统计信息:
vacuumdb --all --analyze-in-stages
方案2:检查PostgreSQL官方yum仓库(快速升级备选)
虽然RHEL 7已进入维护阶段,但可尝试添加PostgreSQL官方yum仓库,直接通过包管理器升级:
- 安装仓库配置:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm - 执行升级:
若提示无可用包,则说明官方已停止提供RHEL 7的12.13包,改用方案1即可。yum update postgresql12-server postgresql12
关键注意事项
- 升级前务必备份整个数据目录:
cp -rp /var/lib/pgsql/12/data /var/lib/pgsql/12/data.upgrade.backup - 若使用了第三方扩展(如PostGIS),需用新编译的
pg_config重新编译安装对应扩展版本,确保兼容性。 - 小版本升级无需使用
pg_upgrade工具,仅替换二进制并重启即可完成,这是官方推荐的高效方式。
内容的提问来源于stack exchange,提问作者Learner
相关产品推荐
相关产品推荐

