(8)Centos6.X源码安装PostGIS(普通用户)


1.引言

      PostGISPostgreSQL 关系数据库的空间操作扩展。它为 PostgreSQL 提供了存储、查询和修改空间关系的能力。本博客中 PostgreSQL 指代基本的关系数据库功能,而 PostGIS 指代扩展的空间操作特性。在本篇博客中主要介绍如何使用普通用户源码安装PostGIS,安装PostGIS需要首先安装PostgreSQLpythonprojgeoslibxml2。本篇博客的环境主要为:

  • 操作系统的版本为:Centos6.7
  • PostgreSQL的版本为:9.4.1
  • PostgreSQL的安装目录为:/home/wpx/usr/local/pgsql
  • proj的版本为:4.9.2
  • proj的安装目录为:/home/wpx/usr/local/proj
  • geos的版本为:3.6.2
  • geos的安装目录为:/home/wpx/usr/local/geos
  • libxml2的版本为:2.9.4
  • libxml2的安装目录为:/home/wpx/usr/local/libxml2
  • postgis的版本为:2.2.7
  • postgis的安装目录为:/home/wpx/usr/local/postgis
  • 操作用户为:wpx

2. 源码安装PostgreSQL

如何安装PostgreSQL,请参考博客:Centos6.X源码安装PostgreSQL

3. 安装Python环境

为保证Python的多版本共存,在本博客中使用pyenv,并安装Python2.7.10版本,如何安装pyenv,请参考博客:Centos安装pyenv

4. 源码安装proj

  • 源码安装命令
//创建proj安装目录
mkdir -p ~/usr/local/proj
//解压缩
tar -zxvf proj-4.9.2.tar.gz
cd proj-4.9.2
//配置proj的安装目录
./configure --prefix=/home/wpx/usr/local/proj
//编译,并且安装
make & make install 
  • 安装成功后,/home/wpx/usr/local/proj下面应该有四个文件夹

这里写图片描述

5. 源码安装proj

  • 源码安装命令
//创建geos安装目录(编译需要gcc-c++)
mkdir -p ~/usr/local/geos
//解压缩
tar -jxvf geos-3.6.2.tar.bz2
cd geos-3.6.2
//配置geos的安装目录
./configure --prefix=/home/wpx/usr/local/geos
//编译
make 
//安装(先编译,后安装。不知道为啥,同时执行编译安装不成功)
make install
  • 安装成功后,/home/wpx/usr/local/geos下面应该有三个文件夹

这里写图片描述

6. 源码安装libxml2

  • 源码安装命令
//创建libxml2安装目录(编译需要python-devel,且需要本地python环境,即python的目录需要有权限)
mkdir -p ~/usr/local/libxml2
//解压缩
tar -zxvf libxml2-2.9.4.tar.gz 
cd libxml2-2.9.4
//配置libxml2安装目录
./configure --prefix=/home/wpx/usr/local/libxml2
//编译
make
//安装
make install 
  • 安装成功后,/home/wpx/usr/local/libxml2下面应该有三个文件夹

这里写图片描述

7. 源码安装postgis

  • 源码安装命令
//创建postgis安装目录
mkdir -p ~/usr/local/postgis
//解压缩
tar -zxvf postgis-2.2.7.tar.gz
cd postgis-2.2.7
//配置postgis的环境,需要指定前面安装软件
./configure --prefix=/home/wpx/usr/local/postgis \ 
--with-pgconfig=/home/wpx/usr/local/pgsql/bin/pg_config  \ 
--with-geosconfig=/home/wpx/usr/local/geos/bin/geos-config \ 
--with-projdir=/home/wpx/usr/local/proj/  \ 
--with-xml2config=/home/wpx/usr/local/libxml2/bin/xml2-config \ 
--without-raster
//编译
make
//安装
make install 
  • 进入PostgreSQL的lib目录下面,复制两个文件
cd ~/usr/local/pgsql/lib
cp ../../proj/lib/libproj.so.9.1.0 ./libproj.so.9 
cp ../../geos/lib/libgeos_c.so.1.10.2 ./libgeos_c.so.1
  • 安装成功后,PostgreSQL的bin目录下面,将会有相应的命令

这里写图片描述

8. 测试PostGIS是否安装成功

  • 测试指令
//启动数据库服务
/home/wpx/usr/local/pgsql/bin/pg_ctl -D /home/wpx/usr/local/pgsql/data -l logfile start
//登录数据库,创建一个新的数据库
psql -h localhost -p 5432 -U wpx -d postgres
CREATE DATABASE dx;
//将dx升级为空间数据库(第一个是添加空间函数,第二个是创建spatial_ref_sys表)
psql -h localhost  -d dx -U wpx -f ../share/contrib/postgis-2.2/postgis.sql
psql -h localhost  -d dx -U wpx -f ../share/contrib/postgis-2.2/spatial_ref_sys.sql
  • 没有报错,显示成功即可

这里写图片描述

转载自:https://blog.csdn.net/LoveCarpenter/article/details/80740192

You may also like...