Linux_centos7部署postgis3.3.4扩展

安装postgis需要依赖先安装依赖

json-c-0.13.1.tar   libiconv-1.17.tar   geos-3.9.0.tar   sqlite-autoconf-3400000.tar   

proj-8.0.0.tar   sqlite-devel-3.26.0-19.el8_9.x86_64.rpm   zlib-1.3.tar.gz   

cmake-3.30.3.tar.gz   gdal-3.4.2.tar   postgis-3.3.4.tar

1.安装json-c-0.13.1.tar

  1. 解压进入 json-c-0.13.1

配置安装路径

./configure --prefix=/app/software/json-c-0.13.1

安装

make && make install

报错

安装autoheader

2.安装libiconv-1.17.tar

解压进入 ibiconv-1.17

配置安装路径

./configure --prefix=/app/software/ibiconv-1.17

安装

make && make install

3.安装geos-3.9.0.tar

tar -jxvf geos-3.9.0.tar.bz2

解压进入 geos-3.9.0

配置安装路径

./configure --prefix=/app/software/geos-3.9.0

安装

make && make install

4.安装sqlite-autoconf-3400000.tar (可能Proj需要)

解压进入 sqlite-autoconf-3400000

配置安装路径

./configure --prefix=/app/software/sqlite3400000 --enable-rtree=yes

安装

make && make install

5.安装proj-8.0.0.tar和sqlite-devel-3.26.0-19.el8_9.x86_64.rpm

Centos7安装8.2.1会有报错8.0可以

rpm -ivh sqlite-devel-3.26.0-19.el8_9.x86_64.rpm --nodeps --force

解压进入 proj-8.0.0配置安装路径

./configure --prefix=/app/software/proj-8.0

报错libtiff-4不满足

安装yum install -y libtiff libtiff-devel.x86_64

报错缺少curl

yum install curl-devel

再次执行

./configure --prefix=/app/software/proj-8.0

(这个图片显示8.2.1是因为在centos8跑的可以装,后面用centos7跑不行,换成proj8.0)

安装

make && make install

配置环境变量

vi /etc/bashrc

#proj环境变量

export PROJ_HOME=/app/software/proj-8.0

export PATH=$PATH:$PROJ_HOME/bin

重载source /etc/bashrc

proj -version

6.安装zlib-1.3.tar

解压进入 zlib-1.3

配置安装路径

./configure --prefix=/app/software/zlib-1.3

安装

make && make install

7.安装cmake-3.30.3.tar.gz

(此步骤是为了安装gdal执行cmake命令,在安装gdal可先查看cmake的版本,超过3.27可以不用安装)

之前的需要先卸载在安装

解压进入 cmake-3.30.3

配置安装路径

./configure

安装

make && make install

重启服务器 (配置环境变量也可以,但是我配置的有问题系统变砖了,建议重启)慎重

查看cmake的版本

8.安装gdal-3.4.2.tar

解压进入 gdal-3.4.2

配置安装路径

bash ./configure --prefix=/app/software/gdal-3.4.2 --with-proj=/app/software/proj-8.0 --with-geos=/app/software/geos-3.9.0/bin/geos-config --with-libjson-c=/app/software/jsion-c-0.13.1

注释:标红的是我多敲了i,这个是json对应标题1

安装

make && make install

配置环境变量

vi /etc/bashrc

#gdal环境变量

GDAL_HOME=/app/software/gdal-3.4.2

GDAL_DATA=$GDAL_HOME/share/gdal

LD_LIBRARY_PATH=$GDAL_HOME/lib:/usr/local/lib64:$JRE_HOME/lib:$LD_LIBRARY_PATH

PATH=$GDAL_HOME/bin:$PATH

export  PATH LD_LIBRARY_PATH GDAL_DATA

重载

source /etc/bashrc

查询版本

gdalinfo --version

9.安装postgis-3.3.4.tar

解压进入 postgis-3.3.4

配置安装路径

./configure --prefix=/app/software/postgis-3.3.4 --with-pgconfig=//usr/pgsql-15/bin/pg_config  --with-projdir=/app/software/proj-8.0 --with-geosconfig=/app/software/geos-3.9.0/bin/geos-config  --with-jsondir=/app/software/jsion-c-0.13.1  --with-gdalconfig=/app/software/gdal-3.4.2 --without-protobuf --without-raster

注释

--without-protobuf 取消对protobuf依赖

--without-raster      取消对gdal-ogr依赖

这俩个东西不会影响到postgis扩展语句执行

我用到的扩展语句是

create extension postgis;
create extension postgis_topology;

安装

make && make install

报错

解决用的这位大佬的教程,万分感谢(centos7 安装 llvm-toolset-7-clang-CSDN博客

yum install centos-release-scl

sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/CentOS-SCLo-scl*.repo

sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/CentOS-SCLo-scl*.repo

sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/CentOS-SCLo-scl*.repo

yum install llvm-toolset-7-clang

安装

make && make install

解决

yum install -y epel-release

yum install -y llvm5.0-devel

或者安装(我这里yum没有可用安装包,只能自己装了,哭死。)

llvm-5.0.0.src.tar.xz

上传解压进入文件创建build进入build

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/llvm-5.0 ..

编译

make -j$(nproc)

安装

sudo make install

配置环境变量

vi /etc/bashrc

export PATH=/usr/local/llvm-5.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/llvm-5.0/lib:$LD_LIBRARY_PATH

source ~/.bashrc

在报错位置创建文件夹/usr/lib64/llvm5.0/bin/,然后创建软连接

ln -s /usr/local/llvm-5.0/bin/llvm-lto /usr/lib64/llvm5.0/bin/llvm-lto

再次进入postgis-3.3.4

执行

Make install

配置动态链接库

(原创地址金蝶云社区|财务金融企业信息化|IT精英人脉圈子-金蝶云社区官网)感谢大佬

cat > /etc/ld.so.conf.d/postgis.conf << EOF

> /app/software/jsion-c-0.13.1/lib

> /app/software/ibiconv-1.17/lib

> /app/software/geos-3.9.0/lib

> /app/software/proj-8.0/lib

> /app/software/gdal-3.4.2/lib

> EOF

ldconfig

验证

cat /etc/ld.so.conf.d/postgis.conf

链接postgres验证postgis扩展

10.总结

postgres15.8版本安装的扩展postgis3.3.4版本,这里面坑太多了太多了(我菜),postgis重要的几个依赖程序我都标红了,其中部分程序需要yum。安装的过程我也找了很多博客,感谢给我提供帮助博客博主,也希望大家再部署过程中少踩坑。

我在centos8.5跑了没跑下去转centos7了,内容写的比较乱,希望各位大佬多担待,当然我也不希望大家看到这个博客,希望大家工作的服务器都可以yum,也可以联网,都没有版本要求(低版本有漏洞,扫漏洞修复太麻烦了)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值