开发者

PostgreSQL大版本升级的详细流程

开发者 https://www.devze.com 2024-08-10 12:34 出处:网络 作者: Wang Dingding
目录前沿1.确认旧库编译2.安装新版本数据库3.新版数据库初始化目录4.旧版本数据库进行备份5.停旧版本数据库9.调整环境变量10.收集统计信息11.删除旧版本数据库的数据12.总结本文详细讲解了从14.11升级到15.6,使www.d
目录
  • 前沿
  • 1.确认旧库编译
  • 2.安装新版本数据库
  • 3.新版数据库初始化目录
  • 4.旧版本数据库进行备份
  • 5.停旧版本数据库
  • 9.调整环境变量
  • 10.收集统计信息
  • 11.删除旧版本数据库的数据
  • 12.总结

本文详细讲解了从14.11升级到15.6,使www.devze.com用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 postgrphpesql-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-dataphpdir /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,性能javascript上也会有不同幅度的提升。

以上就是PostgreSQL大版本升级的详细流程的详细内容,更多关于PostgreSQL大版本升级的资料请关注编程客栈(www.devze.com)其它相关文章!

0

精彩评论

暂无评论...
验证码 换一张
取 消