环境:debian 12\宝塔\postgresql管理器安装了postgresql version 18.0;

需求:需要安装postGIS 3.6; 但是debian 12自带的GEOS版本太低了,需要安装geos 3.14这个版本;

要构建和使用 PostGIS,您需要:

不可缺少

  • PostgreSQL 12 - 18. 需要完整安装 PostgreSQL(包括服务器头文件)。可从 https://www.postgresql.org 获取18。

    请参阅 https://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS 中完整的 PostgreSQL/PostGIS 和 PostGIS/GEOS 支持表

  • GNU C 编译器 (gcc)。其他一些 ANSI C 编译器也可以用来编译PostGIS,但使用gcc编译时我们发现问题要少得多。

  • GNU Make(gmake or make)。对于许多系统,GNU make是 make 的默认版本。通过调用make -v检查版本。 其他版本的make可能无法正确处理 PostGIS Makefile

  • Proj投影转换库 。需要 Proj 6.1 及以上版本。Proj 库用于 PostGIS 中提供坐标重投影支持。Proj 可以从 https://proj.org/ 下载。

  • GEOS 几何库,版本需为 3.8.0 或更高,但建议使用 GEOS 3.14 及以上版本,以充分利用所有新函数和特性。可从 https://libgeos.org 下载。

  • LibXML2、2.5.x 或更高版本。 目前,导入函数(ST_GeomFromGML和ST_GeomFromKML)使用 LibXML2。 您可以从 https://gitlab.gnome.org/GNOME/libxml2/-/releases 下载 LibXML2。

  • JSON-C 0.9或更高版本。JSON-C 目前用于按 ST_GeomFromGeoJson 导入 GeoJSON。 JSON-C 可从 https://github.com/json-c/json-c/releases/ 下载。

  • 推荐使用 GDAL 3 以上版本。此版本对于栅格功能是必需的。更多信息请参阅https://gdal.org/download.html

  • 要使用PostgreSQL+JIT进行编译,需要LLVM版本6或更高版本。请参阅 https://trac.osgeo.org/postgis/ticket/4125

卸载旧版本的 GEOS
sudo apt-get remove --purge libgeos-dev libgeos-c1v5
您可以从官方GEOS网站下载最新版本的源代码:解压下载的文件并进入解压后的目录:
wget https://download.osgeo.org/geos/geos-3.14.0.tar.bz2
tar -xvjf geos-3.14.0.tar.bz2
cd geos-3.14.0
安装GEOS编译所需的依赖项:
sudo apt-get update
sudo apt-get install build-essential libtool pkg-config
sudo apt-get install libproj-dev
sudo apt-get install libxml2-dev
执行以下命令进行编译和安装:
./configure
make
sudo make install
如果在安装后无法找到新的库文件,请执行以下命令更新库链接:
sudo ldconfig
在编译 PostGIS 之前,Debian 12 用户必须安装所有依赖:
sudo apt update

sudo apt install -y \
  build-essential \
  libxml2-dev \
  libjson-c-dev \
  libpq-dev \
  libgdal-dev \
  gdal-bin \
  libgeos-dev \
  libproj-dev \
  proj-bin \
  protobuf-c-compiler \
  libprotobuf-c-dev \
  libpcre2-dev \
  libxslt1-dev \
  flex bison pkg-config

下载postgis,解压安装,并指向postgis-3.6.0;

cd /usr/local/src
wget https://download.osgeo.org/postgis/source/postgis-3.6.0.tar.gz
tar -xvf postgis-3.6.0.tar.gz
cd postgis-3.6.0

清除之前的编译文件
make clean
重新执行配置和安装命令:
./configure --with-pgconfig=/www/server/pgsql/bin/pg_config --with-gdalconfig=/usr/local/bin/gdal-config
安装postgis:
make -j$(nproc)
sudo make install
要启用 PostGIS 扩展,首先需要选择一个数据库。如果你已经有数据库,使用以下命令创建 PostGIS 扩展:
CREATE EXTENSION postgis;
安装完成后,你可以运行以下 SQL 查询来验证 PostGIS 扩展是否成功安装:
SELECT postgis_full_version();

更多推荐