升级说明
系统搭建的postgresql11.4+pgpool,安全测评提示软件漏洞,需要升级到高版本解决。
本文档提供postgresql11.4集群升级版本到postgresql最新版本操作指导
1. 备份数据
pg_dump --host 10.3.9.228 --port 9999 --username "postgres" --role "postgres" --format custom --blobs --encoding UTF8 -W --verbose --file "/home/edss_dump_20211011.backup" --schema '(edss*)' "em_guangd
2. 备份配置文件
[root@slave02 pg_back_20211019]# cp /home/database/data/postgresql.conf .
[root@slave02 pg_back_20211019]# cp /home/database/data/pg_hba.conf .
[root@slave02 pg_back_20211019]# cp /home/database/data/recovery.conf .
[root@slave01 pg_back_20211019]# cp /etc/pgpool-II_11/pgpool.conf .
[root@slave01 pg_back_20211019]# cp /etc/pgpool-II_11/pool_hba.conf .
[root@slave01 pg_back_20211019]# cp /etc/pgpool-II_11/pool_passwd .
3. 关闭pgpool
pgpool -m fast stop
ps aux |grep pgpool
4. 停止postgresql
[postgres@slave01 ~]$ /usr/pgsql-11/bin/pg_ctl stop -m fast -D /home/database/data 1>/dev/null
5. 删除旧的pg
查询rpm包
[root@master pg_back_20211019]# rpm -qa |grep postgresql
postgresql11-contrib-11.4-1PGDG.rhel7.x86_64
postgresql11-libs-11.4-1PGDG.rhel7.x86_64
postgresql11-11.4-1PGDG.rhel7.x86_64
postgresql11-devel-11.4-1PGDG.rhel7.x86_64
postgresql11-server-11.4-1PGDG.rhel7.x86_64
没有pgpool的节点
删除:
1)rpm -e postgresql11-server-11.4-1PGDG.rhel7.x86_64
2)rpm -e postgresql11-devel-11.4-1PGDG.rhel7.x86_64
有pgpool的节点
1)删除postgresql11-server
1)yum remove postgresql11-server
删除:
postgresql11-server.x86_64 0:11.4-1PGDG.rhel7
作为依赖被删除:
pgpool-II_11-extensions.x86_64 0:4.1.5-2.rhel7
2)删除postgresql11-devel-11.4-1PGDG.rhel7.x86_64,否则会有依赖问题
rpm -e postgresql11-devel-11.4-1PGDG.rhel7.x86_64
6. 安装11.13版本
参考手册:
https://www.postgresql.org/download/
https://www.postgresql.org/download/linux/redhat/
安装过程:
# Install the repository RPM:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Install PostgreSQL:
sudo yum install -y postgresql11-server
7. 启动postgresql
[postgres@slave01 ~]$ /usr/pgsql-11/bin/pg_ctl start -D /home/database/data 1>/dev/null
8. 验证
[postgres@slave01 ~]$ su - postgres
密码:
上一次登录:二 10月 19 17:01:58 CST 2021pts/0 上
[postgres@slave01 ~]$ psql
psql (11.13)
输入 "help" 来获取帮助信息.
postgres=#
9. 安装pgpool-II_11-extensions
在pgpool两个节点上执行,由于卸载postgresql过程中,卸载了pgpool extension的依赖
# rpm -ivh pgpool-II_11-extensions-4.1.5-2.rhel7.x86_64.rpm
10. 启动pgpool
root用户运行
# 启动命令(日志位置可在命令中指定)
pgpool -n -C -D >> /var/log/pgpool/pgpool.log 2>&1 &
11. 使用vip登录验证
配置完pgpool集群,使用vip连接
# psql -h 10.3.9.228 -p9999 -Upostgres -d postgres
查看集群节点,执行psql命令
postgres=# show pool_nodes;
执行下面语句查看流失复制状态:
select * from pg_stat_replication ;