pg10升级到pg11
root用户下:
1.上传包到指定位置后。进行pg10的安装
yum localinstall libxslt-1.1.28-6.el7.x86_64.rpm
yum localinstall postgresql11-*
2.修改初始化的数据目录
vim /usr/lib/systemd/system/postgresql-11.service
3.配置基础环境
mkdir -p /data/{pgdata,arch}
chown -R postgres:postgres /data
/usr/pgsql-11/bin/postgresql-11-setup initdb
mv /data/pgdata/postgresql.conf /data/pgdata/postgresql.conf.bk
mv /data/pgdata/pg_hba.conf /data/pgdata/pg_hba.conf.bk
上传文件
在postgresql.conf文件中修改端口号为5435
授权
chown -R postgres:postgres /data/pgdata
postgres用户下
4.pg11升级前检测
/usr/pgsql-11/bin/pg_upgrade -b /data/pgsql/bin -B /usr/pgsql-11/bin/ -d /data/pgsql_info/data/ -D /data/pgdata/ -p 5432 -P 5435 -U postgres -j 8 —check
检测都是ok状态则执行以下命令进行升级
停应用,停老库进行升级
停老库
pg_ctl -D /data/pgsql_info/data stop
停pgagent
ps -aux | grep pgagent | awk ‘{print $2}’ | xargs kill -9
/usr/pgsql-11/bin/pg_upgrade -b /data/pgsql/bin -B /usr/pgsql-11/bin/ -d /data/pgsql_info/data/ -D /data/pgdata/ -p 5432 -P 5435 -U postgres -j 8
没问题后启动pg11
将端口号5435修改端口号为5432
/usr/pgsql-11/bin/pg_ctl -D /data/pgdata start
进行垃圾清理
bash analyze_new_cluster.sh
删除/usr/bin/的pg软连接
cd /usr/bin/
ll | grep ‘/data/pgsql/bin/‘ | awk ‘{print $9}’ | xargs rm
修改环境变量
vim ~/.bash_profile
export PGDATA=/data/pgdata
export PATH=$PATH:/usr/pgsql-11/bin
vim ~/.bashrc
export LD_LIBRARY_PATH=/usr/pgsql-11/lib
source ~/.bash_profile
source ~/.bashrc
重新启动pg_agent
pgagent hostaddr=ip dbname=br_v4 user=br_v4 password=BR_v4123 -s /data/pgdata/log/pgagent.log
启动应用即可。