postgresql安装postgis插件

安装postgis插件

前提条件:
安装PostGIS之前必须先安装proj,geos,gdal

安装proj

下载proj-5.0.0.tar.gz :
http://download.osgeo.org/proj/proj-5.0.0.tar.gz
上传至/opt/postgresql目录下
cd /opt/postgresql
解压
tar xf proj-5.0.0.tar.gz
进入proj-5.0.0目录,执行检查配置命令
./configure --prefix=/opt/postgresql/pginstalldir/plugin/proj

编译
make
安装
make install
在这里插入图片描述
安装完成后配置和加载动态链接库
vi /etc/ld.so.conf.d/proj-5.0.0.conf
配置如下信息
/opt/postgresql/pginstalldir/plugin/proj/lib
保存并退出
执行加载配置信息命令:
ldconfig

安装geos

下载geos-3.6.5.tar.bz2 :http://download.osgeo.org/geos/geos-3.6.5.tar.bz2
上传至/opt/postgresql目录下
压缩并解压
cd /opt/postgresql
如果系统没有bz2,安装bz2
下载地址:http://sourceware.org/bzip2/downloads.html
有网的情况下,建议yum安装
yum -y install bzip2
在这里插入图片描述
解压
tar -jxvf geos-3.6.5.tar.bz2
编译(确保路径已创建)
./configure --prefix=/opt/postgresql/pginstalldir/plugin/geos/
会有如下报错
在这里插入图片描述
这个不影响,直接make,make install即可

不过编译时候会出现gcc报错,需要安装gcc后重新编译
yum -y install gcc-c++
在这里插入图片描述
重新执行
./configure --prefix=/opt/postgresql/pginstalldir/plugin/geos/
(此处编译检查时间较长)
执行编译
make
执行安装
make install
安装完成后配置和加载动态链接库
vi /etc/ld.so.conf.d/geos-3.6.5.conf
配置如下信息
/opt/postgresql/pginstalldir/plugin/geos/lib
保存并退出
执行加载配置信息命令:
ldconfig

安装gdal

下载gdal-2.0.1.tar.gz :http://download.osgeo.org/gdal/2.0.1/gdal-2.0.1.tar.gz
上传至/opt/postgresql目录下
解压
cd /opt/postgresql
解压:tar xf gdal-2.0.1.tar.gz
在/opt/postgresql/pginstalldir/plugin/目录下创建gdal目录
进入gdal-2.0.1目录,执行检查配置命令
./configure --prefix=/opt/postgresql/pginstalldir/plugin/gdal
(此处编译检查时间较长)
执行编译
make
执行安装
make install
安装完成后配置和加载动态链接库
vi /etc/ld.so.conf.d/gdal-2.0.1.conf
配置如下信息
/opt/postgresql/pginstalldir/plugin/gdal/lib
保存并退出
执行加载配置信息命令:
ldconfig

安装protobuf

上传安装包到/usr/local/src下
进入/usr/local/src目录,使用命令解压
tar -zxvf protobuf-all-3.20.1.tar.gz
进入解压后目录
cd protobuf-3.20.1
执行编译检查
./configure
编译
make
安装
make install
添加到环境变量
vi /etc/profile
添加以下内容
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
保存退出
执行命令使之生效
source /etc/profile

安装protobuf-c

上传安装包到/usr/local/src下
进入/usr/local/src目录,使用命令解压
tar -zxvf protobuf-c-1.4.0.tar.gz
进入解压后目录
cd protobuf-c-1.4.0
执行编译检查
./configure
编译
make
安装
make install

安装postgis

下载postgis-3.2.1.tar.gz :
(注:postgis3.2依赖的proj4至少为4.9及以上)
http://download.osgeo.org/postgis/source/postgis-3.2.1.tar.gz
上传至/opt/postgresql目录下
解压
cd /opt/postgresql
解压:tar xf postgis-3.2.1.tar.gz
进入postgis-3.2.1目录,执行检查配置命令
./configure --prefix=/opt/postgresql/pginstalldir/plugin/uuid
–with-pgconfig=/opt/postgresql/pginstalldir/bin/pg_config
–with-geosconfig=/opt/postgresql/pginstalldir/plugin/geos/bin/geos-config
–with-gdalconfig=/opt/postgresql/pginstalldir/plugin/gdal/bin/gdal-config
–with-projdir=/opt/postgresql/pginstalldir/plugin/proj

ERR1:Perl

在这里插入图片描述
需要安装Perl,下载地址:
https://www.cpan.org/src/5.0/perl-5.34.0.tar.gz

上传perl-5.34.0.tar.gz包至/usr/local/src目录
进入/usr/local/src
tar -xzf perl-5.34.0.tar.gz
cd perl-5.34.0
./Configure -de
make
make test
make install
在这里插入图片描述

ERR2:libxml2

在这里插入图片描述
yum -y install libxml2-devel

ERR3

遇到gdal报错,但是之前已经安装了
在这里插入图片描述
解决:
创建文件 /etc/ld.so.conf.d/postgresql-14.2.conf
/opt/postgresql/pginstalldir/lib/

再次执行完整的检查命令
./configure --prefix=/opt/postgresql/pginstalldir/plugin/uuid
–with-pgconfig=/opt/postgresql/pginstalldir/bin/pg_config
–with-geosconfig=/opt/postgresql/pginstalldir/plugin/geos/bin/geos-config
–with-gdalconfig=/opt/postgresql/pginstalldir/plugin/gdal/bin/gdal-config
–with-projdir=/opt/postgresql/pginstalldir/plugin/proj
无报错
make
make install

数据库中添加扩展

使用psql命令链接数据库
执行create extension postgis;
在这里插入图片描述
创建扩展出错,这里是因为之前安装postgis时候用的root,
chown -R postgres:postgres /opt/postgresql/
重启postgresql即可
pg_ctl restart
在这里插入图片描述

执行验证sql
SELECT ST_AsText(ST_AsMVTGeom( ST_GeomFromText('POLYGON ((0 0, 10 0, 10 5, 0 -5, 0 0))'), ST_MakeBox2D(ST_Point(0, 0), ST_Point(4096, 4096)), 4096, 0, false));
在这里插入图片描述
安装postgis插件完成。

猜你喜欢

转载自blog.csdn.net/TS_forever007/article/details/128972952