centos 安装postgis

  1. 云栖社区>
  2. 博客>
  3. 正文

centos 安装postgis

mr.q 2016-10-13 10:53:00 浏览811
展开阅读全文

 

安装环境

操作系统

Cenos7

 

软件

postgresSQL

postgressql9.4.9.tar,

Postgregis

proj-4.9.2.tar.gz

gdal-1.11.0.tar,

geos-3.5.0.tar,

postgis-2.2.4dev.tar,

postgresSQL

安装

1.       解压文件

tarjxvf postgresql- 9.4.9.tar.bz2

2.       进入解压后的postgresql- 9.4.9目录

cd postgresql-9.4.9

3.       编译postgresql源码

./source -prefix=/opt/pgsql-9.4.9

其中可能会报错:

A.       configure: error: no acceptable C compiler found in$PATH

yum install gcc

B.       configure: error: readline library notfound

yum install readline

yum install readline-devel

C.       configure: error: zliblibrary not found

yum install zlib-devel;

       可能出现的错误进行安装缺失的依赖包后重新进行

       ./source-prefix=/opt/pgsql-9.4.9

4.       执行make

5.       执行make install

至此postgressql安装成功。

用户设置

6.       增加 postgres用户

useradd postgres

修改postgres密码

passwd postgres

7.       设置postgres用户的环境变量

切换到postgres用户

#su- postgres

8.      进入postgres的主目录

#cd~

编辑~/.bash_profile文件

#vi ~/.bash_profile

增加以下的环境变量

exportPGHOME=/opt/pgsql-9.4.9

exportPGDATA=~/data

exportPATH=$PATH:$HOME/bin:$PGHOME/bin

保存,退出vi。执行以下命令,使环境变量生效

#source~/.bash_profile

9.      初始化postgres数据库

10.  安装实例

 initdb

11.  创建数据库

Createdpostgis

启动postgres实例

#pg_ctl start

12.  可以看到postgresql数据库实例已经启动,通过下面的命令可以查看系统中运行的postgres进程

13.  #ps -ef | grep postgres

停止postgresql实例

#pg_ctlstop

#ps-ef |  grep postgres

开启远程连接

找到 /home/postgres/data 文件夹下的

postgresql.conf

修改 listen_addresses = 'localhost'

删除前边的#, 内容改为*

pg_hba.conf

最后一行添加

host    all    all   0.0.0.0/0    md5

执行数据库关闭,启动。

以上为所有postgresSQL安装步骤

postGIS

1.       使用root用户登录

Su –root

输入密码

安装 geos

解压: tar zvf geos-3.5.0.tar

进入目录: cd /geos-3.5.0

 执行 ./configure –prefix=/opt/geos

如果报错g++not found

执行yum install gcc_c++

重新执行./configure –prefix=/opt/geos

如果报错Configure:configure:error: could not find xml2-config from libxml2 within the current path. You mayneed to try re-running configure with a --with-xml2config 

执行 yum install libxml2-devel.x86_64

重新执行./configure –prefix=/opt/geos

执行 make

执行 make install

安装 proj

解压: tar zvf geos-3.5.0.tar

进入目录: cd /geos-3.5.0

 执行 ./configure –prefix=/opt/ proj

执行 make

执行 make install

安装gdal

解压: tar zvf geos-3.5.0.tar

进入目录: cd /geos-3.5.0

 执行 ./configure –prefix=/opt/gdal

执行 make

执行 make install

执行 postgis安装

1.       解压 tar zvf postgis-2.2.4dev.tar

2.       进入目录 cd /postgis-2.2

3.       执行

./configure--prefix=/opt/postgis-2.2/ --with-pgconfig=/opt/pgsql-9.4.9/bin/pg_config--with-geosconfig=/opt/geos/bin/geos-config --with-projdir=/opt/proj/--with-gdalconfig=/opt/gdal/bin/gdal-config

执行 make

执行 make install

4.       打开 vi /etc/ld.so.conf

输入

/opt/geos/lib

/opt/proj/lib//lib

/opt/pgsql-9.4.9/lib

/opt/postgis-2.2/lib

保存退出,执行

sudo ldconfig

5.       使用postgres用户登录

执行 psql -d postgis

进入 psql命令行

执行 create extension postgis;

l  该过程如果报错ERROR:  could not load library"/opt/pgsql/lib/postgis-2.2.so": libproj.so.9: cannot open sharedobject file: No such file or directory

执行: cp /opt/proj/lib/libproj.so.9 /opt/pgsql-9.4.9/lib/

 

l  该过程如果报错ERROR:  could not load library"/opt/pgsql-9.4.9/lib/rtpostgis-2.2.so": libgdal.so.1: cannot openshared object file: No such file or directory

执行:cp /opt/gdal/lib/libgdal.so.1 /opt/pgsql-9.4.9/lib/

 

返回继续执行 create extension postopology;

CREATE EXTENSION fuzzystrmatch;

出错:

ERROR: could not open extension control file"/usr/local/pgsql/share/extension/fuzzystrmatch.control": No suchfile or directory

这个扩展已经包含在pgsql源码中,但是默认并未完成,所以需要安装之,进入pgsql源码目录:

cd contrib/fuzzystrmatch/

make

make install

然后再在pgsql命令行下执行:CREATEEXTENSION fuzzystrmatch;


至此整个数据库安装完成。

网友评论

登录后评论
0/500
评论
mr.q
+ 关注