PostgreSQL大版本如何升级?

05-14 1378阅读

📢📢📢📣📣📣

哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验

一位上进心十足的【大数据领域博主】!😜😜😜

中国DBA联盟(ACDU)成员,目前服务于工业互联网

擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。

✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞

❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

PostgreSQL大版本如何升级?

文章目录

    • 📣 前沿
    • 📣 1.确认旧库编译
    • 📣 2.安装新版本数据库
    • 📣 3.新版数据库初始化目录
    • 📣 4.旧版本数据库进行备份
    • 📣 5.停旧版本数据库
    • 📣 6.检查新旧数据库版本兼容性
    • 📣 7.升级数据库
    • 📣 8.启动新版本数据库
    • 📣 9.调整环境变量
    • 📣 10.收集统计信息
    • 📣 11.删除旧版本数据库的数据
    • 📣 12.总结

      本文详细讲解了从14.11升级到15.6,使用pg_dumpall进行备份恢复升级的过程

      📣 前沿

      PostgreSQL版本发布规则,一年一个大版本,一个季度一个小版本;PG遇到的BUG问题,社区会很快进行修复,并在下一个版本中发布,因此有必要进行对数据库版本升级,避免触发已知的BUG带来业务系统的不稳定。

      📣 1.确认旧库编译

      如果使用源码编译安装,configure 配置和原库一致。

      可以使用pg_config查看旧版本数据库安装时的配置参数。

      PostgreSQL大版本如何升级?

      📣 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

      PostgreSQL大版本如何升级?

      –编译及安装

      [postgres@pgpcp postgresql-15.6]$ make && make install

      PostgreSQL大版本如何升级?

      📣 3.新版数据库初始化目录

      注意:只初始化数据库,不启动

      /pgccc/pgsql-15/bin/initdb -D

      /pgccc/pgsql-15/pgdata -E UTF8

      –locale=en_US.utf8 -U postgres

      PostgreSQL大版本如何升级?

      📣 4.旧版本数据库进行备份

      pg_dumpall -Upostgres -f

      /home/postgres/dumpall_data.sql

      PostgreSQL大版本如何升级?

      📣 5.停旧版本数据库

      pg_ctl -D /pgccc/pgdata stop

      PostgreSQL大版本如何升级?

      📣 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

      PostgreSQL大版本如何升级?

      📣 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/

      PostgreSQL大版本如何升级?

      📣 8.启动新版本数据库

      cd /pgccc/pgsql-15/bin/

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

      PostgreSQL大版本如何升级?

      📣 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

      PostgreSQL大版本如何升级?

      📣 11.删除旧版本数据库的数据

      cd /pgccc/pgsql-15/bin/

      ./delete_old_cluster.sh

      PostgreSQL大版本如何升级?

      📣 12.总结

      Postgresql是一个非常活跃的社区开源项目,更新速度很快,每一次版本的更新都会积极的修复旧版本的BUG,性能上也会有不同幅度的提升。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]