安装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
- 解压进入 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,也可以联网,都没有版本要求(低版本有漏洞,扫漏洞修复太麻烦了)。