环境: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(
gmakeormake)。对于许多系统,GNUmake是 make 的默认版本。通过调用make -v检查版本。 其他版本的make可能无法正确处理 PostGISMakefile。 -
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 updatesudo 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();