centos Postgresql11升级Postgresql14

1.下载pgsql14的源码包进行安装

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

yum install postgresql14 –y

yum install postgresql14-server -y

附带安装

yum install postgresql14-libs

yum install postgresql14-contrib

yum install postgresql14-devel

2.创建数据目录

 mkdir -p /data/pgsql14/

 移动目录 

mv /var/lib/pgsql/14/* /data/pgsql14/

chown -R postgres:postgres /data/pgsql14/

chmod 700 /data/pgsql14/data -R

3.初始化数据库

使用postgres用户执行:su - postgres

/usr/pgsql-14/bin/initdb -D /data/pgsql14/data

ctrl+D键退出postgres用户

关闭新版本:
systemctl stop postgresql-14
关闭旧版本:
systemctl stop postgresql-11

先检查一遍新旧数据库是否存在不兼容情况,若兼容则会全部显示ok如下图,如果有异常,会报错,执行脚本:

--old-datadir /data/pgsql/data  老数据库存放目录

--new-datadir /data/pgsql14/data/  新数据库存放目录

/usr/pgsql-14/bin/pg_upgrade --old-datadir /data/pgsql/data --new-datadir /data/pgsql14/data/ --old-bindir /usr/pgsql-11/bin/ --new-bindir /usr/pgsql-14/bin/ --check

全部ok可执行升级:

/usr/pgsql-14/bin/pg_upgrade --old-datadir /data/pgsql/data --new-datadir /data/pgsql14/data/ --old-bindir /usr/pgsql-11/bin/ --new-bindir /usr/pgsql-14/bin/

 

vim /usr/lib/systemd/system/postgresql-14.service

进行修改:

Environment=PGDATA=/data/pgsql14/data/(改为自己data目录地址)

修改后保存文件,并重新加载:systemctl daemon-reload

vi /data/pgsql14/data/pg_hba.conf

# IPv4 local connections:

#host all all 127.0.0.1/32 ident

host all all 0.0.0.0/0 md5

 vi /data/pgsql/data/postgresql.conf

修改

listen_addresses listen_addresses = '*'

有需求修改port

#port = 5432

启动新版本

  1. 先按ctrl+D键退出postgres用户
  2. 启动pg14 

systemctl start postgresql-14

设置开机启动

systemctl enable postgresql-14

关闭11开机启动

systemctl  disable postgresql-11

posted @ 2022-12-03 23:28  左闯  阅读(217)  评论(0编辑  收藏  举报