第一步:备份数据(至关重要!)
在进行任何升级操作前,务必先备份现有数据。
# 如果旧版服务正在运行,先备份数据
sudo -u postgres pg_dumpall > /tmp/backup_all.sql
# 停止旧服务
sudo systemctl stop postgresql
第二步:安装 PostgreSQL 官方仓库
RHEL 8 自带的 AppStream 仓库里的版本更新较慢,建议使用 PostgreSQL 官方仓库获取最新版本。
- 安装仓库 RPM:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- 禁用 RHEL 自带的 PostgreSQL 模块:
RHEL 8 使用模块化流,这会屏蔽官方仓库的同名包,必须先禁用。
sudo dnf -qy module disable postgresql
第三步:安装新版本 PostgreSQL
现在可以从官方仓库安装新版本了(以安装 PostgreSQL 16 为例):
sudo dnf install -y postgresql16-server postgresql16
第四步:初始化新数据库
安装完成后,需要初始化新版本的数据目录。
# 初始化数据库
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
# 启用开机自启
sudo systemctl enable postgresql-16
新版本还是比较适合学习!
[root@redhat8 0226]# yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm Last metadata expiration check: 2:18:53 ago on Thu 26 Feb 2026 02:18:35 PM CST. pgdg-redhat-repo-latest.noarch.rpm 32 kB/s | 17 kB 00:00 Dependencies resolved. ==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== Package Architecture Version Repository Size ==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== Installing: pgdg-redhat-repo noarch 42.0-62PGDG @commandline 17 k Transaction Summary ==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== Install 1 Package Total size: 17 k Installed size: 17 k Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : pgdg-redhat-repo-42.0-62PGDG.noarch 1/1 Verifying : pgdg-redhat-repo-42.0-62PGDG.noarch 1/1 Installed: pgdg-redhat-repo-42.0-62PGDG.noarch Complete! [root@redhat8 0226]# (zhishiku-env) [root@redhat8 ~]# yum install pgvector_18 Last metadata expiration check: 0:15:48 ago on Thu 26 Feb 2026 04:42:50 PM CST. Dependencies resolved. ==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== Package Architecture Version Repository Size ==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== Installing: pgvector_18 x86_64 0.8.1-1PGDG.rhel8 pgdg18 107 k Transaction Summary ==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== Install 1 Package Total download size: 107 k Installed size: 291 k Is this ok [y/N]: y Downloading Packages: pgvector_18-0.8.1-1PGDG.rhel8.x86_64.rpm 59 kB/s | 107 kB 00:01 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 59 kB/s | 107 kB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : pgvector_18-0.8.1-1PGDG.rhel8.x86_64 1/1 Running scriptlet: pgvector_18-0.8.1-1PGDG.rhel8.x86_64 1/1 Verifying : pgvector_18-0.8.1-1PGDG.rhel8.x86_64 1/1 Installed: pgvector_18-0.8.1-1PGDG.rhel8.x86_64 Complete! (zhishiku-env) [root@redhat8 ~]# postgres=# CREATE EXTENSION IF NOT EXISTS vector; CREATE EXTENSION postgres=#
浙公网安备 33010602011771号