欢迎投稿

今日深度:

CentOS7 PostGreSQL 11编译PostGIS 3.0,

CentOS7 PostGreSQL 11编译PostGIS 3.0,


CentOS7 PostGreSQL 11编译PostGIS 3.0

目前使用PostGreSQL 11.1 + PostGIS 2.5,打算升级到PG 12,发现PG12不支持PostGIS 2.5,需要升级到PostGIS3.0。考虑到后期数据迁移,所以决定先把现有环境的PostGIS从2.5升级到3.0.1。经过一番折腾,最终升级成功,记录下升级过程。
PostGIS 3.0.1依赖PROJ、DGAL、GEOS、JSON-C,这里除了JSON-C使用了CentOS自带的,其余的一股脑儿都下载了最新版:

  • proj 7.0.0
  • geos 3.8.1
  • gdal 3.0.4

编译安装proj 7.0.0
proj 7.0.0需要sqlite 3.11及以上版本,而系统自带的是3.7.17版本,需要升级,从sqlite的官网下载最新的3310101版,这个直接configure、make、make install即可。
proj 7.0.0稍微麻烦点儿,需要指定最安装的sqlite的编译环境:

SQLITE3_CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib /usr/local/lib/libsqlite3.so" ./configure
make
make install

编译安装geos3.8.1

./configure
make
make install

编译安装gdal 3.0.4

./configure --with-proj=/usr/local
make
make install

编译安装PostGIS 3.0.1

PROJ_CFLAGS="-I/usr/local/include/" PROJ_LIBS="-lproj -lsqlite3 -L/usr/local/lib /usr/local/lib/libproj.so" SQLITE3_CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib /usr/local/lib/libsqlite3.so /usr/local/lib/libproj.so" ./configure --with-pgconfig=/usr/local/pgsql11/bin/pg_config
make
make install

这个最麻烦,PostGIS依赖PROJ,PROJ依赖sqlite,所以编译参数比较多。到此,已经成功编译PostGIS3.0.1。

www.htsjk.Com true http://www.htsjk.com/SQLite/42456.html NewsArticle CentOS7 PostGreSQL 11编译PostGIS 3.0, CentOS7 PostGreSQL 11编译PostGIS 3.0 目前使用PostGreSQL 11.1 + PostGIS 2.5,打算升级到PG 12,发现PG12不支持PostGIS 2.5,需要升级到PostGIS3.0。考虑到后期数据迁移,所...
评论暂时关闭