本文详细讲解了从14.11升级到15.6,使用pg_dumpall进行备份恢复升级的过程
如果使用源码编译安装,configure 配置和原库一致。 可以使用pg_config查看旧版本数据库安装时的配置参数。

[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 ~]$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

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

pg_dumpall -Upostgres -f \ /home/postgres/dumpall_data.sql

pg_ctl -D /pgccc/pgdata stop

注意:如果版本兼容性有问题,需要解决 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

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/

cd /pgccc/pgsql-15/bin/ ./pg_ctl -D /pgccc/pgsql-15/pgdata/ start

vi /home/postgres/.bash_profile export PATH export PS1="[\u@\h \W]\$" export.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
vacuumdb --all --analyze-in-stages

cd /pgccc/pgsql-15/bin/ ./delete_old_cluster.sh

Postgresql是一个非常活跃的社区开源项目,更新速度很快,每一次版本的更新都会积极的修复旧版本的BUG,性能上也会有不同幅度的提升。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69947868/viewspace-3013539/ ,如需转载,请注明出处,否则将追究法律责任。