在CentOS上升级PostgreSQL版本,可以按照以下步骤进行:
备份数据库 在进行任何升级操作之前,请确保备份所有重要的数据库数据。
sudo pg_dumpall -U postgres > backup.sql
移除旧版本 使用yum移除当前的PostgreSQL包。
sudo yum remove postgresql-server postgresql-contrib
添加新的PostgreSQL仓库 根据你想要的PostgreSQL版本,添加相应的EPEL或Remi仓库。
sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum-config-manager --add-repo https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/RPMS/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum-config-manager --add-repo https://download.postgresql.org/pub/repos/yum/reporpms/RPMS/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
安装新版本 使用yum安装你想要的PostgreSQL版本。
sudo yum install postgresql12-server postgresql12-contrib # 替换为所需版本号
初始化数据库集群 如果是新安装的版本,需要初始化数据库集群。
sudo postgresql-setup initdb
启动并启用服务 启动PostgreSQL服务并设置为开机自启。
sudo systemctl start postgresql-12 # 替换为所需版本号
sudo systemctl enable postgresql-12
恢复数据库 使用之前备份的数据恢复数据库。
sudo psql -U postgres -f backup.sql
如果你需要从较旧的版本直接升级到较新的版本(例如从9.x到12.x),可以使用pg_upgrade
工具。
安装新版本的PostgreSQL 按照方法一中的步骤安装新版本的PostgreSQL。
停止旧版本服务
sudo systemctl stop postgresql
运行pg_upgrade
sudo /usr/pgsql-12/bin/pg_upgrade \
--old-datadir=/var/lib/pgsql/9.6/data \
--new-datadir=/var/lib/pgsql/12/data \
--old-bindir=/usr/bin \
--new-bindir=/usr/pgsql-12/bin \
--old-sysctl=-1 \
--new-sysctl=-1
重新配置initdb
sudo /usr/pgsql-12/bin/initdb -D /var/lib/pgsql/12/data
重启新版本服务
sudo systemctl start postgresql-12
验证升级 连接到新版本的PostgreSQL并检查版本。
psql -U postgres -c "SELECT version();"
通过以上步骤,你应该能够成功地在CentOS上升级PostgreSQL版本。