centos7下postgresql安装postgis

折腾了几天,阿里云PG数据库上安装postgis。老提示缺失$libdir .查看文档。就是放在安装文件lib下面。复制了还是提示缺少。看公瑾大神的PostGIS入门篇 一 PostGIS安装 - 知乎

安装。感觉postgis结合了很多插件。然后安装的时候。默认放到了。/usr/下面。折腾很久。还是搞不定。后来参考这个。折腾出来了。

1、解压安装包

#新建安装文件夹
 cd /usr
 mkdir  pgsql9.6
 cd pgsql9.6
#安装上传文件命令
yum install  lrzsz
#上传
rz -be 
#解压文件
tar -zxvf postgresql-9.6.4.tar.gz 
进入解压文件夹
cd  postgresql-9.6.4
2、开始执行安装命令

执行postgresql安装配置命令
./configure  --prefic=/usr/pgsql9.6/
./configure  --prefic=/usr/pgsql9.6/ 执行该命令可能会遇到一下问题

readline library not found
If you have readline already installed, see config.log for details on the
failure.  It is possible the compiler isn't looking in the proper directory.
Use --without-readline to disable readline support.

解决方案   

yum install  -y  readline

yum  install -y readline-devel

解决上诉问题后又出现新问题:

configure: error: zlib library not found
If you have zlib already installed, see config.log for details on the
failure.  It is possible the compiler isn't looking in the proper directory.
Use --without-zlib to disable zlib support.

解决方案  yum install zlib-devel

解决上诉问题,就可以执行以上命令

3、编译安装

 
make
make install
4、创建数据库用户,和数据库数据存储文件 ,并赋予权限

#创建用户并设置密码
adduser postgres
passwd postgres
 
#新建数据存储文件夹,并赋予权限
cd  /usr/pgsql9.6
mkdir data
chown postgres /usr/pgsql9.6/data/
5、初始数据库,启动数据库

 
cd /usr/pgsql9.6/bin
切换用户
su postgres
初始化数据库
./initdb --encoding=UTF-8 -D /usr/pgsql9.6/data/
启动数据库
./pg_ctl -D /usr/pgsql9.6/data/  start
安装postgis24_96

 yum install -y  https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
 
搜索可以安装postgis版本
yum search postgis
 
首先安装依赖项(必须,否则安装postGis失败)
yum -y install epel-release
 
yum install postgis24_96.x86_64
 


 

他提示没有那个拓展文件,这是因为在线安装postgis24_96后,会发现他安装到了另外一个目录,跟我们的postgresql9.6不在同一个目录,所以我们需要把拓展文件复制到postgresql9.6安装目录下

cp /usr/pgsql-9.6/share/extension/*  /usr/pgsql9.6/share/extension/
拓展文件copy过去后,执行发现又爆出缺失库的问题

同理我们需要报lib文件copy到postgresql9.6的安装目录的lib下

 cp /usr/pgsql-9.6/lib/*  /usr/pgsql9.6/lib/
postgis到此安装完毕,测试

CREATE EXTENSION postgis;
 
SELECT PostGIS_version();


出现以上截图所示表示安装成功了。

总结下。他的这个能成功。因为默认放在/usr下面。所有后面的安装。也会默认到这里。postgis的插件也在这。

[root@monitorserver usr]# ll
total 2532268
drwxrwxr-x   35 test test       4096 May 23 09:15 app
dr-xr-xr-x.   2 root root      36864 Jul 30 15:05 bin
drwxr-xr-x.   2 root root       4096 Apr 11  2018 etc
-rw-r--r--    1 root root 2567833600 Mar 23 09:57 --exclude=nbiotservice-v1.0.0.jar,idserver-bak20210816,pscs.bak
drwxr-xr-x    2 test test       4096 Apr  8 16:34 ftp_
drwxr-xr-x.   2 root root       4096 Apr 11  2018 games
drwxr-xr-x    4 root root       4096 Jul 27 09:43 gdal32
drwxr-xr-x    4 root root       4096 Dec 20  2021 gdal33
drwxr-xr-x    4 root root       4096 Jul 27 10:32 gdal34
drwxr-xr-x    4 root root       4096 Jul 27 10:31 geos310
drwxr-xr-x    3 root root       4096 Dec 20  2021 geos39

drwxr-xr-x.  70 root root      12288 Jul 27 14:14 include
-rw-r--r--    1 root root        964 Jul 29 16:26 index.html
drwxr-xr-x   17 root root       4096 Oct 25  2021 jenkins_ssh
dr-xr-xr-x.  44 root root       4096 Jul 27 10:31 lib
dr-xr-xr-x.  64 root root      57344 Jul 27 14:14 lib64
drwxr-xr-x.  24 root root       4096 Oct 24  2021 libexec
lrwxrwxrwx    1 root root         28 Jul 14 16:56 libgdiplus.so -> /usr/local/lib/libgdiplus.so
drwxr-xr-x    6 root root       4096 Dec 20  2021 libgeotiff16
drwxr-xr-x    4 root root       4096 Dec 20  2021 libspatialite43

drwxr-xr-x.  14 root root       4096 Jan 29  2021 local
drwxr-xr-x    4 root root       4096 Dec 20  2021 ogdi41
drwxr-xr-x    5 root root       4096 Jul 27 15:39 pgsql-10
drwxr-xr-x    7 root root       4096 Jul 29 17:39 pgsql10.12
drwxrwxrwx    6 1107 1107       4096 Jul 29 17:10 postgresql-10.12
-rw-r--r--    1 root root   24940708 Feb 11  2020 postgresql-10.12.tar.gz.1
drwxr-xr-x    5 root root       4096 Dec 20  2021 proj72
drwxrwxr-x    8 test test       4096 Jun 24  2021 prototype
dr-xr-xr-x.   2 root root      12288 Jul 30 15:09 sbin
drwxr-xr-x. 133 root root       4096 Jul 27 09:47 share
drwxr-xr-x    5 root root       4096 Dec 20  2021 sqlite330
drwxr-xr-x.   4 root root       4096 Feb 20  2020 src
lrwxrwxrwx.   1 root root         10 Feb 20  2020 tmp -> ../var/tmp
drwxrwxr-x   42 test test       4096 May 25 08:41 wwwroot

不管了。把他折腾出来。安装好了就行了。
 

你可能感兴趣的:(Linux,postgresql,数据库)