← 教程库 / PostGIS 官方文档 进阶 postgis.net 2026-10-09 21:31:24 · 6 阅读 第3章 启用 PostGIS 及其相关扩展 启用 PostGIS PostGIS 和其他扩展是可选功能,必须在每个想要使用它们的数据库中单独启用。 以下所有扩展均已包含在 PostGIS Windows 安装包中。 CREATE EXTENSION postgis; -- 启用栅格支持 CREATE EXTENSION postgis_raster; -- 启用高级 3D 支持 CREATE EXTENSION postgis_sfcgal; -- 启用 SQL/MM 网络拓扑 CREATE EXTENSION postgis_topology; -- 使用美国人口普查数据进行地理编码和标准化 CREATE EXTENSION address_standardizer; CREATE EXTENSION fuzzystrmatch; CREATE EXTENSION postgis_tiger_geocoder; -- 如果需要升级 PostGIS 打包的扩展 SELECT postgis_extensions_upgrade(); PostGIS 相关扩展 这些扩展属于 PostGIS 安装包的一部分,你也可以在 Unreleased Versions 中单独下载最新版。 pgRouting 如果直线距离不足以满足需求,你需要基于道路、步行、骑行路径及其他障碍物的真实时间度量,那么 pgRouting 是你的选择。执行以下命令开始你的路径规划之旅。 CREATE EXTENSION pgrouting; -- 升级现有安装 ALTER EXTENSION pgrouting UPDATE; -- 查看版本详情 SELECT * FROM pgr_full_version(); 要将 OpenStreetMap (OSM) 数据加载为 pgrouting 格式,可以使用 osm2pgrouting 或 osm2po。osm2pgrouting 的 Windows 二进制文件与相应版本的 pgrouting 放在一起,并包含在 Windows 安装包中。请参阅压缩包中的说明。 PostGIS 安装包中附带但不是 PostGIS 项目本身的额外扩展 如果你想使用尚未发布的版本,可以在 extras PostgreSQL 版本化文件夹中找到这些扩展。 / 用于查询外部空间和非空间数据源的外部数据包装器 注意:如果访问 https 源时出错,你需要将 CURL_CA_BUNDLE 系统环境变量定义为类似 C:\Program Files\PostgreSQL\15\ssl\certs\ca-bundle.crt 这是 PostGIS 3.4.1 及以上版本安装包中的一个选项/ CREATE EXTENSION ogr_fdw; -- 用于管理点云数据 CREATE EXTENSION pointcloud; CREATE EXTENSION pointcloud_postgis; -- 查看已安装版本 SELECT pc_version(); -- 升级 ALTER EXTENSION pointcloud UPDATE; ALTER EXTENSION pointcloud_postgis UPDATE; -- 使用 Uber h3 索引方案 CREATE EXTENSION h3; CREATE EXTENSION h3_postgis; MobilityDB MobilityDB 用于管理轨迹数据。详情请参阅 https://github.com/MobilityDB/MobilityDB。 mobilitydb 扩展是在 PostGIS 安装包 3.3.3 中引入的(适用于 PostgreSQL 12 及以上)。 你也能在 extras 的 PostgreSQL 版本化文件夹中找到它。 -- 确认没有预加载的现有库, -- 如果有,请确保在更改系统设置时重新添加 -- 对于 MobilityDB 1.3.0 及以上版本(属于 PostGIS 3.6 安装包),这一步似乎不再需要 SHOW shared_preload_libraries; ALTER SYSTEM SET shared_preload_libraries = 'postgis-3'; SHOW max_locks_per_transaction; -- 如果低于 128,请执行以下操作 ALTER SYSTEM SET max_locks_per_transaction = 128; 从 Windows 服务中重启 PostgreSQL 服务。 现在你已准备好在数据库中启用 mobilitydb。 CREATE EXTENSION mobilitydb; -- 显示当前版本和依赖 SELECT mobilitydb_full_version(); -- 更新现有安装 ALTER EXTENSION mobilitydb UPDATE; 如果上述步骤失败或未重启服务,运行创建扩展命令时可能会遇到如下错误: “C:/Program Files/PostgreSQL/15/lib/libMobilityDB-1.1.dll”:找不到指定的模块。 请参阅“入门”部分获取更多指导。 pgSphere pgSphere 是一个用于管理球体几何形状的扩展,主要用于管理天文数据。 它不依赖 PostGIS。PostGIS Windows 安装包 3.6.1 是首个包含该扩展的版本。你可以在相应 PostgreSQL 版本的 buildbot 文件夹下的 extras 目录中找到其二进制文件。 安装时,将文件复制到 PostgreSQL 安装目录,并在你选择的数据库中执行: CREATE EXTENSION pg_sphere; SELECT pg_sphere_version(); 上一篇 第2章 用 ST_DWithin 进行半径查询 下一篇 第4章 PostGIS 快速入门:启用、安装与升级指南 有帮助 收藏 分享 本篇用到的工具 PostGIS PostGIS 是 PostgreSQL 的空间数据库扩展,用于存储、查询和管理地理空间数据。 评论 (0) 发布评论