1. 首页 > 软件安装教程 > 正文

PostgreSQL升级-PostgreSQL数据库升级详细过程

PostgreSQL Upgrade

一、升级前准备

1.1 备份数据

pg_dumpall -U postgres -f /backup/postgresql-all-$(date +%Y%m%d).sql

1.2 检查当前版本

psql --version

1.3 查看兼容性

参考 PostgreSQL 官方文档,确认目标版本与当前版本的兼容性。

学习交流加群风哥QQ113257174 学习交流加群风哥微信: itpux-com

1.4 停止应用服务

在升级过程中,建议停止所有连接到 PostgreSQL 的应用服务。

更多视频教程www.fgedu.net.cn 更多学习教程公众号风哥教程itpux_com from:www.itpux.com 更多学习教程公众号风哥教程itpux_com

二、单机 PostgreSQL 升级

2.1 Linux 平台升级

2.1.1 停止 PostgreSQL 服务

sudo systemctl stop postgresql-14

2.1.2 安装新版本

RHEL/CentOS 系统:

更多学习教程公众号风哥教程itpux_com

sudo yum install -y postgresql15 postgresql15-server

Ubuntu 系统:

风哥提示:数据库升级过程中请确保备份完整数据,以防意外情况发生。

sudo apt update
sudo apt install -y postgresql-15

2.1.3 升级数据目录

sudo su - postgres
/usr/pgsql-15/bin/pg_upgrade \
  --old-datadir=/var/lib/pgsql/14/data \
  --new-datadir=/var/lib/pgsql/15/data \
  --old-bindir=/usr/pgsql-14/bin \
  --new-bindir=/usr/pgsql-15/bin

2.1.4 更新服务配置

sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

2.1.5 验证升级

psql --version
sudo systemctl status postgresql-15

2.2 Windows 平台升级

2.2.1 停止 PostgreSQL 服务

net stop postgresql-x64-14

2.2.2 下载新版本安装包

从 PostgreSQL 官网下载最新版本的 Windows 安装包。

学习交流加群风哥微信: itpux-com 学习交流加群风哥QQ113257174

2.2.3 运行安装程序

双击安装包,按照提示完成升级安装。

学习交流加群风哥QQ113257174 学习交流加群风哥QQ113257174

2.2.4 启动 PostgreSQL 服务

net start postgresql-x64-15

三、主从复制集群升级

3.1 升级顺序

  1. 升级从节点(Slave)
  2. 升级主节点(Master)

3.2 升级从节点

3.2.1 停止从节点服务

sudo systemctl stop postgresql-14

3.2.2 安装新版本

sudo yum install -y postgresql15 postgresql15-server

3.2.3 升级数据目录

sudo su - postgres
/usr/pgsql-15/bin/pg_upgrade \
  --old-datadir=/var/lib/pgsql/14/data \
  --new-datadir=/var/lib/pgsql/15/data \
  --old-bindir=/usr/pgsql-14/bin \
  --new-bindir=/usr/pgsql-15/bin

3.2.4 启动从节点服务

sudo systemctl start postgresql-15

3.3 升级主节点

3.3.1 触发主从切换

sudo -u postgres psql
SELECT pg_promote();

3.3.2 停止原主节点服务

sudo systemctl stop postgresql-14

3.3.3 升级 PostgreSQL

sudo yum install -y postgresql15 postgresql15-server

3.3.4 升级数据目录

sudo su - postgres
/usr/pgsql-15/bin/pg_upgrade \
  --old-datadir=/var/lib/pgsql/14/data \
  --new-datadir=/var/lib/pgsql/15/data \
  --old-bindir=/usr/pgsql-14/bin \
  --new-bindir=/usr/pgsql-15/bin

3.3.5 启动服务

sudo systemctl start postgresql-15

3.4 验证复制状态

sudo -u postgres psql
SELECT * FROM pg_stat_replication;

四、升级后检查

4.1 检查服务状态

sudo systemctl status postgresql-15

4.2 检查日志

tail -f /var/lib/pgsql/15/data/log/postgresql-*.log

4.3 运行数据库检查

sudo -u postgres psql
VACUUM ANALYZE;

4.4 恢复应用服务

升级完成后,恢复连接到 PostgreSQL 的应用服务。

更多视频教程www.fgedu.net.cn 风哥提示:数据库升级过程中请确保备份完整数据,以防意外情况发生。

五、常见问题处理

5.1 服务无法启动

  • 检查配置文件:cat /var/lib/pgsql/15/data/postgresql.conf
  • 检查端口占用:netstat -tulpn | grep 5432
  • 检查日志文件:cat /var/lib/pgsql/15/data/log/postgresql-*.log

5.2 复制同步失败

  • 查看复制状态:SELECT * FROM pg_stat_replication;
  • 检查网络连接:ping 192.168.1.11
  • 重新初始化复制:pg_basebackup

5.3 性能问题

  • 运行 VACUUM ANALYZE:VACUUM ANALYZE;
  • 重建索引:REINDEX DATABASE testdb;
  • 调整配置参数
提示:建议在非业务高峰期进行升级操作,并提前通知相关团队。

警告:升级前务必备份所有数据,以防升级过程中出现意外情况。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息