postgresql9.6.5 升级为9.6.20 ,升级软件版本而数据目录不变,此方法不适用于跨大版本升级!
原数据库安装目录:prefix=/usr/local/pgsql
数据目录PGDATA=/data/postgres/data
升级步骤:
1.上传文件包postgresql-9.6.20.tar.gz 至/opt/
2.解压 tar -xvf postgresql-9.6.20.tar.gz
3.创建目录 mkdir /usr/local/pgsql9.6.20
4.编译安装软件
cd postgresql-9.6.20
./configure --prefix=/usr/local/pgsql9.6.20
make
make install
5.授权目录 chown -R postgres:postgres /usr/local/pgsql9.6.20
chown -R postgres:postgres postgresql-9.6.20
5.停原来的数据库
/etc/init.d/postgresql stop
备份命令 cp /etc/init.d/postgresql /etc/init.d/postgresql_backup (可选择导出数据备份)
6.修改/etc/init.d/postgresql命令文件安装目录
# Installation prefix
vi /etc/init.d/postgresql
prefix=/usr/local/pgsql 改为:prefix=/usr/local/pgsql9.6.20
7.启动数据库
/etc/init.d/postgresql start
8.验证
su - postgresql
更改环境变量(修改软件安装目录)
登录数据库检查升级是否成功,验证数据(例如查看test表数据)
[postgres@pgdb-es2 ~]$
[postgres@pgdb-es2 ~]$ psql
psql (9.6.20)
Type "help" for help.
postgres=# \c testdb
You are now connected to database "testdb" as user "postgres".
testdb=#
testdb=# select * from test;
a | name
---+------
1 | bai
2 | bai
3 | bai
4 | bai
5 | bai
(5 rows)
已升级成功。