描述

PostgreSQL 与 PostGIS 是开源地理空间领域最强大、最流行的组合之一。PostgreSQL 提供了稳定、高效、功能丰富的数据库基础,而 PostGIS 则将其扩展为功能完备的空间数据库,使其能够存储、查询、分析和处理地理空间数据。本文将全面介绍 PostgreSQL 与 PostGIS 的核心概念、主要功能、应用场景以及使用方法。

1. 什么是 PostgreSQL?

PostgreSQL 是一个功能强大的开源对象关系型数据库系统,经过 30 多年的积极开发,在可靠性、数据完整性、功能丰富性和性能方面享有盛誉。它支持大部分 SQL 标准,并提供了许多现代数据库功能:

  • ACID 事务:确保数据一致性和可靠性。

  • 复杂查询:支持子查询、窗口函数、CTE(公用表表达式)等高级 SQL 特性。

  • 扩展性:允许用户定义数据类型、函数、操作符和索引方法。

  • 并发控制:多版本并发控制(MVCC)提供高并发下的性能。

  • 丰富的数据类型:包括 JSON/JSONB、数组、范围类型等。

  • 强大的索引系统:B-tree、Hash、GiST、SP-GiST、GIN、BRIN 等。

PostgreSQL 的开源许可和活跃的社区使其成为企业级应用、Web 应用和地理信息系统的首选数据库。


2. 什么是 PostGIS?

PostGIS 是 PostgreSQL 的空间数据库扩展器,它为 PostgreSQL 增加了对地理空间数据的支持。PostGIS 遵循开放地理空间联盟(OGC)的简单要素访问标准,提供了数千个空间函数、空间操作符和空间索引,使 PostgreSQL 成为一个功能完备的空间数据库。

主要特性包括:

  • 几何与地理数据类型:支持点、线、面、多点、多线、多面、几何集合等。

  • 空间索引:基于 GiST 和 SP-GiST 的 R-Tree 索引,实现高效的空间查询。

  • 空间函数:面积、长度、距离、相交、包含、缓冲区、并集、交集等。

  • 坐标转换:支持数千种坐标参考系(CRS)之间的投影转换。

  • 栅格数据支持(PostGIS 栅格):存储、分析和处理栅格数据(如卫星影像)。

  • 拓扑支持(PostGIS 拓扑):构建和管理拓扑数据结构。

  • 地理计算:考虑地球曲率的距离和面积计算(使用地理数据类型)。

  • 3D 和 4D 支持:支持三维和四维几何对象。

PostGIS 被广泛用于各种需要处理空间数据的应用中,从简单的基于位置的服务到复杂的空间分析平台。

3. PostgreSQL + PostGIS 的优势

将 PostGIS 与 PostgreSQL 结合使用带来了以下独特优势

  • 完整的数据库功能:在使用 PostgreSQL 所有关系型数据库功能(事务、并发、安全性等)的同时,无缝处理空间数据。
  • 高性能空间查询:利用 PostgreSQL 的查询优化器和空间索引,实现快速的空间过滤和连接。
  • 标准兼容性:遵循 OGC 和 SQL/MM 标准,确保与其他 GIS 软件和工具的互操作性。
  • 开源免费:无需昂贵的许可费用,降低了开发和部署成本。
  • 活跃社区和生态系统:大量第三方工具(如 QGIS、GeoServer、GDAL)原生支持 PostgreSQL/PostGIS。
  • 可扩展性:支持集群、复制、分区等企业级功能,能够处理海量空间数据。
  • 丰富的数据类型:结合 PostgreSQL 的非空间数据类型(JSON、数组等),可以构建包含复杂属性的空间数据模型。

下载

运行安装程序

  • 双击下载的 .exe 文件,按照安装向导的提示进行 。
  • 安装路径:您可以选择一个合适的安装目录,例如 D:\Program Files\PostgreSQL\18,不一定要安装在C盘 。
  • 选择组件:在组件选择界面,建议保持默认全选,确保 PostgreSQL Server、pgAdmin 4 和 Stack Builder 都被勾选 。
  • 数据目录:选择数据文件的存放位置,可以与安装目录相同 。
  • 设置密码:为数据库超级用户 postgres 设置一个您能记住的密码,这一步非常重要 。
  • 配置端口:保持默认端口 5432 即可,除非该端口已被其他程序占用 。
  • 完成安装:在安装的最后一步,请务必勾选“Stack Builder”选项,因为接下来我们将用它来安装 PostGIS 。

通过 Stack Builder 安装 PostGIS

安装完 PostgreSQL 后,Stack Builder 工具会自动启动。如果未启动,您也可以在开始菜单的 PostgreSQL 文件夹中找到并打开它

选择数据库实例

  • 在 Stack Builder 启动窗口中,选择您刚刚安装的 PostgreSQL 实例(例如 PostgreSQL 16 on port 5432),然后点击“下一步”

选择 PostGIS 扩展

  • 在组件选择列表中,展开 “Spatial Extensions” 类别。
  • 您会看到 PostGIS 的选项。根据搜索结果,截至 2025年9月,PostGIS 3.6.1 已经发布,但在 Windows 上通过 Stack Builder 安装的稳定版推荐为 PostGIS 3.5.3 。选择与 PostgreSQL 版本兼容的稳定版本(通常是版本号最高的那个)。
  • 勾选该选项,然后点击“下一步”以下载并安装。
  • 在 Windows 上通过 Stack Builder 安装 PostGIS 是最简单、最可靠的方法,它会自动处理版本兼容性和依赖关系 。

完成安装

  • 安装向导可能会询问一些额外的配置,如组件选择(通常保持默认即可)和安装路径 。
  • 按照提示完成安装。

验证安装并启用 PostGIS


安装完成后,您需要创建一个空间数据库来验证一切是否正常。

  1. 打开 pgAdmin 4:从开始菜单中打开 pgAdmin 4,并连接到您的 PostgreSQL 服务器 。官方下载页面https://www.pgadmin.org/download/

  2. 创建新数据库:在左侧的 Databases 上右键,选择 Create -> Database...,为您的数据库命名(如 gis_db)。

  3. 启用 PostGIS 扩展

    • 在新建的数据库下,找到 Extensions 项,右键选择 Create -> Extension... 。

    • 在 Name 下拉框中选择 postgis,然后保存 。

    • 重复此步骤,再添加一个 postgis_topology 扩展(可选,但建议添加)。

  4. 验证:添加成功后,您就可以在这个数据库中创建包含几何信息(Geometry)的表格,使用各种空间函数了。至此,您的 Windows 开发环境就搭建完毕了。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐