PostgreSQL大版本升级的详细流程
本文详细讲解了从14.11升级到15.6,使用pg_dumpall进行备份恢复升级的过程
前沿
PostgreSQL版本发布规则,一年一个大版本,一个季度一个小版本;PG遇到的BUG问题,社区会很快进行修复,并在下一个版本中发布,因此有必要进行对数据库版本升级,避免触发已知的BUG带来业务系统的不稳定。
1.确认旧库编译
如果使用源码编译安装,configure 配置和原库一致。
可以使用pg_config查看旧版本数据库安装时的配置参数。

2.安装新版本数据库
[root@pgpcp ~]# cp /opt/postgresql-15.6.tar.gz /pgccc/soft
[root@pgpcp ~]# chown -R postgres:postgres /pgccc/soft
[root@pgpcp ~]# chmod -R 775 /pgccc/soft
[root@pgpcp ~]# su - postgres
[postgres@pgpcp ~]$ cd /pgccc/soft/
[postgres@pgpcp soft]$ tar zxvf postgresql-15.6.tar.gz
[postgres@pgpcp ~] m k d i r − p / p g c c c / p g s q l − 15 [ p o s t g r e s @ p g p c p ] mkdir -p /pgccc/pgsql-15 [postgres@pgpcp ~] mkdir−p/pgccc/pgsql−15[postgres@pgpcp ]cd /pgccc/soft/postgresql-15.6
[postgres@pgpcp postgresql-15.6]$./configure --prefix=/pgccc/pgsql-15 --without-readline

–编译及安装
[postgres@pgpcp postgresql-15.6]$ make && make install

3.新版数据库初始化目录
注意:只初始化数据库,不启动
/pgccc/pgsql-15/bin/initdb -D
/pgccc/pgsql-15/pgdata -E UTF8
–locale=en_US.utf8 -U postgres

4.旧版本数据库进行备份
pg_dumpall -Upostgres -f
/home/postgres/dumpall_data.sql

5.停旧版本数据库
pg_ctl -D /pgccc/pgdata stop

6.检查新旧数据库版本兼容性
注意:如果版本兼容性有问题,需要解决
cd /pgccc/pgsql-15/bin/
./pg_upgrade --old-datadir /pgccc/pgdata/
–new-datadir /pgccc/pgsql-15/pgdata/
–old-bindir /pgccc/pgsql-14/bin/
–new-bindir /pgccc/pgsql-15/bin/ --check

7.升级数据库
cd /pgccc/pgsql-15/bin/
./pg_upgrade --old-datadir /pgccc/pgdata/
–new-datadir /pgccc/pgsql-15/pgdata/
–old-bindir /pgccc/pgsql-14/bin/
–new-bindir /pgccc/pgsql-15/bin/

8.启动新版本数据库
cd /pgccc/pgsql-15/bin/
./pg_ctl -D /pgccc/pgsql-15/pgdata/ start

9.调整环境变量
vi /home/postgres/.bash_profile export PATH export PS1="[\u@\h \W]\$" export LANG=en_US.UTF-8 export PGPORT=5432 export PGDATA=/pgccc/pgsql-15/pgdata export PGHOME=/pgccc/pgsql-15 export PATH=/pgccc/pgsql-15/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:. export PGUSER=postgres export PGDATABASE=postgres [postgres@pgpcp ~]$source /home/postgres/.bash_profile
10.收集统计信息
vacuumdb --all --analyze-in-stages

11.删除旧版本数据库的数据
cd /pgccc/pgsql-15/bin/
./delete_old_cluster.sh

12.总结
Postgresql是一个非常活跃的社区开源项目,更新速度很快,每一次版本的更新都会积极的修复旧版本的BUG,性能上也会有不同幅度的提升。
以上就是PostgreSQL大版本升级的详细流程的详细内容,更多关于PostgreSQL大版本升级的资料请关注脚本之家其它相关文章!
相关文章
postgres array_to_string和array的用法讲解
这篇文章主要介绍了postgres array_to_string和array的用法讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-01-01
PostgreSQL 如何查找需要收集的vacuum 表信息
这篇文章主要介绍了PostgreSQL 如何查找需要收集的vacuum 表信息,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-02-02
postgresql数据库安装部署搭建主从节点的详细过程(业务库)
这篇文章主要介绍了postgresql数据库安装部署搭建主从节点的详细过程(业务库),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-01-01


最新评论