当前位置:   article > 正文

postgresql单机版+postgis插件的快速安装_postgres gis插件配置

postgres gis插件配置

                                       postgresql单机版+postgis插件的快速源码编译安装

废话不多说了,直接上干货。

环境介绍:

postgresql单机版,使用的版本为9.5.24,postgis使用的版本为postgis-3.0.0.tar.gz,实验机器使用的为centos7版本,vm虚拟机,最小化全新安装。

编译前的环境准备工作:

1.yum install libxml2-devel libxml2  gcc-c++  json-c-devel  bzip2  -y

2.http://www.cmake.org/cmake/resources/software.html  下载cmake-3.9.0-rc2-linux-x86_64.tar.gz,该版本为二进制包,无需编译,绿色解压即可使用,如果嫌使用麻烦就配一下环境变量。

本例中,我是解压后重命名为cmake,路径为 /usr/local/cmake,环境变量配置为:vim /etc/profile

CMAKE_HOME=/usr/local/cmake
PATH=$PATH:$CMAKE_HOME/bin
export PATH

 

postgis的依赖问题:

postgis的依赖比较多,大概需要的依赖如下(万幸的是,PostGis不像gcc依赖之间有依赖,这几个依赖先后顺序无所谓,gcc不行,顺序要限定的,因此,可以几个同时编译,只要手速够快,同时编译都没什么问题哦):

以下依赖的下载网站为:http://download.osgeo.org/,mirrors-json-c-master.zip这个需要在码云上下载,下载十分简单,注册一个账号,然后搜索json-c,在点击下载,然后上传到服务器即可。

  1. [root@centos8 ~]# ll
  2. total 77116
  3. -rw-------. 1 root root 1358 Jul 21 22:19 anaconda-ks.cfg
  4. -rw-r--r-- 1 root root 32460756 Nov 26 23:00 cmake-3.9.0-rc2-Linux-x86_64.tar.gz
  5. -rw-r--r-- 1 root root 7707436 Nov 26 23:00 gdal-2.1.3.tar.xz
  6. -rw-r--r-- 1 root root 2399403 Nov 26 23:00 geos-3.8.0.tar.bz2
  7. -rw-r--r-- 1 root root 225173 Nov 26 23:00 mirrors-json-c-master.zip
  8. -rw-r--r-- 1 root root 17359802 Nov 26 22:59 postgis-3.0.0.tar.gz
  9. -rw-r--r-- 1 root root 17881872 Nov 26 22:59 postgresql-9.5.24.tar.bz2
  10. -rw-r--r-- 1 root root 921448 Nov 26 22:59 proj-4.9.3.tar.gz

postgis和postgresql之间是有依赖矩阵的,特别需要注意哦,矩阵图如下:


可以从上图看到,PostGis3.0.0是一个比较新的版本,而postgresql是一个比较旧的但两者都比较稳定的版本了。

选择postgresql的另一个原因是编译时的系统自带的gcc版本并不是一个限制。在安装PostGis这个插件之前,那肯定是需要安装PostGreSql 的单机版了(插件必须先有一个插的地方,对吧?),pg的编译安装就不赘述了,也不是特别的难,难点在插件PostGis的安装上哦,因此,请移步https://blog.csdn.net/alwaysbefine/article/details/110097879 将PostGreSql编译安装并启动服务。

(稍微科普一下,tar.bz2的文件 解压命令为: tar jxf 文件名,软件 bzip2提供这个命令的支持)。

GEOS的安装:

  1. tar jxf geos-3.8.0.tar.bz2
  2. cd geos-3.8.0/src
  3. cmake ../
  4. make && make install

需要说明一下安装手法,为什么是进入src目录,如果安装时有什么异常的问题,可以将src目录清空重新编译,因此进入src,通常,cmake是在下级目录build内。这个软件编译时间大概为15分钟左右。

proj4的安装:

  1. tar zxf proj-4.9.3.tar.gz
  2. cd proj-4.9.3/
  3. ./configure
  4. make && make install
  5. echo $?

json-c的安装:

  1. unzip mirrors-json-c-master.zip
  2. cd json-c/
  3. mkdir build
  4. cd build/
  5. cmake ../
  6. make && make install

gdal的安装: 

预编译成功的截图如下:

  1. tar xf gdal-2.1.3.tar.xz
  2. cd gdal-2.1.3/
  3. ./configure --prefix=/usr/local/gdal
  4. echo $?
  5. make && make install

 

PostGis的安装:

vim /etc/ld.so.conf

  1. /usr/local/lib
  2. /usr/local/lib64
  3. /usr/local/pgsql/lib

如果第三行的内容没有指定,也就是指定postgresql的lib目录,那么将会报错configure error: could not find gdal!!!这里需要注意一下~~

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH:/usr/local/include/

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

./configure --with-pgconfig=/usr/local/pgsql/bin/pg_config --with-gdalconfig=/usr/local/gdal/bin/gdal-config

make && make install
 

预编译成功的截图:

  1. --------------- Extensions ---------------
  2. PostGIS Raster: enabled
  3. PostGIS Topology: enabled
  4. SFCGAL support: disabled
  5. Address Standardizer support: disabled
  6. -------- Documentation Generation --------
  7. xsltproc: /usr/bin/xsltproc
  8. xsl style sheets:
  9. dblatex:
  10. convert:
  11. mathml2.dtd: http://www.w3.org/Math/DTD/mathml2/mathml2.dtd

 编译成功的截图:

  1. for OLD_VERSION in 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.3.10 2.3.11 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 3.0.0alpha4 3.0.0beta1 3.0.0rc1 3.0.0rc2; do \
  2. ln -fs "${tpl}" /usr/local/pgsql/datadir/extension/postgis_topology--$OLD_VERSION--3.0.0.sql; \
  3. done
  4. /usr/bin/install -c -m 644 .//postgis_topology.control '/usr/local/pgsql/datadir/extension/'
  5. /usr/bin/install -c -m 644 postgis_topology.control sql/postgis_topology--3.0.0.sql sql/postgis_topology--unpackaged--3.0.0.sql '/usr/local/pgsql/datadir/extension/'
  6. make[2]: Leaving directory `/root/postgis-3.0.0/extensions/postgis_topology'
  7. make[1]: Leaving directory `/root/postgis-3.0.0/extensions'
  8. [root@centos6 postgis-3.0.0]# echo $?
  9. 0

启动postgresql服务,进入命令行操作界面,执行以下命令: 

create extension postgis

select * from pg_available_extensions where name like 'postgis%';

插件正常的状态为至少三行。

  1. postgres=# select * from pg_available_extensions where name like 'postgis%';
  2. name | default_version | installed_version | comment
  3. ------------------------+-----------------+-------------------+---------------------------------------------------------------------
  4. postgis | 3.0.0 | 3.0.0 | PostGIS geometry, geography, and raster spatial types and functions
  5. postgis_tiger_geocoder | 3.0.0 | | PostGIS tiger geocoder and reverse geocoder
  6. postgis_topology | 3.0.0 | | PostGIS topology spatial types and functions
  7. postgis_raster | 3.0.0 | | PostGIS raster types and functions
  8. (4 rows)


 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/870408
推荐阅读
相关标签
  

闽ICP备14008679号