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 升级顺序
- 升级从节点(Slave)
- 升级主节点(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
