本文讲述了本人使用PG_UPGRADE命令把postgres从9.4.5升级至9.6.1的经验,以及反复尝试中碰到的诸如安装扩展,两个版本数据库并存时发生的问题以及解决方式。
文章目录
环境参数介绍
服务器:Centos 6.5
旧数据库版本:9.4.5
旧数据库安装目录:/user/local/postgresql-9.4.5/
旧数据库数据文件夹:/data/pgsql/9.4/data
旧数据库locale: locale=zh_CN.UTF-8
旧数据库端口:5432
旧数据库启动用户: postgres
旧数据库扩展:
- postgis-2.2.2
- uuid-ossp-1.6
- redis_fdw
新数据库版本:9.6.1
新数据库安装目录:/user/local/postgresql-9.6.1/
新数据库数据文件夹:/data/pgsql/9.6.1/data
1. 安装新版本数据库
1.1 下载最新版本的postgres
wget -c https://ftp.postgresql.org/pub/source/v9.6.1/postgresql-9.6.1.tar.bz2
1.2 安装到新的安装目录
tar jxvf postgresql-9.6.1.tar.bz2
cd postgresql-9.6.1
./configure --prefix=/usr/local/postgresql-9.6.1 --with-pgport=5432
gmake world
gmake install-world
假如需要安装uuid-ossp, 请先执行步骤2安装了uuid-ossp后,并如下执行configure命令
./configure --prefix=/usr/local/postgresql-9.6.1 --with-pgport=5432 --with-ossp-uuid
2. 安装uuid-ossp库到新数据库(可选)
步骤2-4只是安装扩展的库,还不到真的安装扩展,因为新数据库才刚装好,还没启动呢。
uuid-ossp的代码包非常难通过官网下载,所以还是建议通过谷歌uuid-1.6.2.tar搜索下载,下载后解压,安装
tar xzf uuid-1.6.2.tar.gz
cd uuid-1.6.2
./configure --prefix=/usr/local/postgresql-9.6.1
make
make install
3. 安装postgis库到新数据库(可选)
安装postgis其实还需要安装很多库,例如:proj,geos,libmxl,但因为是升级,所以这些都是已经安装了,这里就不做介绍了。
执行以下命令,并在configure指定几个库文件安装路径。
tar -xvzf postgis-2.2.2dev.tar.gz
cd /usr/postgis-2.2.2dev
./configure --prefix=/usr/local/postgis-2.2.2 --with-pgconfig=/usr/local/postgresql-9.6.1/bin/pg_config --with-geosconfig=/usr/local/geos-3.5.0/bin/geos-config --with-projdir&