PostgreSQL PostGIS安装与配置,现有数据库启用PostGIS扩展

步骤:

一、PostGIS安装与配置

1、启动 Stack Builder 工具

安装 PostgreSQL 后,进入其安装目录下的bin文件夹,找到并运行Stack Builder程序(该工具用于扩展 PostgreSQL 组件)。

2、选择安装目标

在 Stack Builder 界面中,从列表中选择需要安装 PostGIS 的 PostgreSQL 服务器实例(通常为本地已安装的 PostgreSQL 版本),点击 "下一步"。

3、选择 PostGIS 版本

在可用扩展列表中,展开 "Spatial Extensions"(空间扩展)选项,从中选择适配当前 PostgreSQL 版本的 PostGIS 版本,勾选后点击 "下一步"。

4.设置下载与安装路径

点击 "浏览" 指定安装文件的下载目录(可自定义路径,也可使用默认路径),确认后点击 "下一步",工具将自动下载并启动 PostGIS 安装程序。

5.PostGIS 安装选项

  • 安装过程中保持默认配置即可。
  • 若需快速创建一个空间数据库,可勾选 "Create spatial database" 选项(勾选后将在 PostgreSQL 中自动生成一个包含空间扩展的数据库,不勾选则需后续手动创建)。

6、完成剩余安装步骤

后续步骤(如组件安装路径、权限设置等)均选择默认值,点击 "下一步" 或 "安装",直至安装完成,关闭 Stack Builder 即可。

至此,PostGIS 扩展已成功安装到 PostgreSQL 中,可通过创建空间数据库并启用 PostGIS 扩展开始使用空间功能。

二、现有数据库启用PostGIS扩展

若是在安装配置中勾选了"Create spatial database" 选项创建了数据库,则该数据库已经启用PostGIS扩展,能使用PostGIS扩展

若是想为其余数据库启用PostGIS扩展,则步骤如下:

步骤 1:连接到目标数据库

使用psql命令行工具或图形化工具(如 pgAdmin)连接到需要启用 PostGIS 的数据库。

方法 1:通过psql命令行

  1. 打开 Windows 命令提示符(CMD)或 PowerShell。

  2. 切换到 PostgreSQL 的bin目录(例如默认路径):

    复制代码
    cd "C:\Program Files\PostgreSQL\16\bin"  # 替换为你的PostgreSQL安装路径
  3. 连接到目标数据库(需替换dbname为你的数据库名,username为数据库用户名):

    复制代码
    psql -U username -d dbname -h localhost

    输入密码后进入数据库交互界面。

方法 2:通过 pgAdmin

  1. 打开 pgAdmin,在左侧导航栏中找到目标数据库,右键点击选择「Query Tool」。

步骤 2:启用 PostGIS 扩展

在连接到目标数据库的交互界面中,执行以下 SQL 命令(顺序不可颠倒):

复制代码
-- 1. 创建PostGIS核心扩展(必选)
CREATE EXTENSION postgis;

-- 2. 创建PostGIS拓扑扩展(可选,如需拓扑功能)
CREATE EXTENSION postgis_topology;

-- 3. 创建PostGIS raster扩展(可选,如需栅格数据支持)
CREATE EXTENSION postgis_raster;

-- 4. 创建地址编码扩展(可选)
CREATE EXTENSION postgis_tiger_geocoder;

执行成功后,PostGIS 扩展会被添加到当前数据库中。

步骤 3:验证安装

执行以下 SQL 命令检查 PostGIS 是否生效:

复制代码
-- 查看PostGIS版本
SELECT postgis_version();

如果返回类似如图3.3.2 rXXXX的版本信息,说明 PostGIS 已成功启用。

相关推荐
未来之窗软件服务25 分钟前
计算机等级考试—高频英语词汇—东方仙盟练气期
数据库·计算机软考·东方仙盟
lekami_兰28 分钟前
MySQL 长事务:藏在业务里的性能 “隐形杀手”
数据库·mysql·go·长事务
JQLvopkk1 小时前
C# 轻量级工业温湿度监控系统(含数据库与源码)
开发语言·数据库·c#
devmoon2 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
认真的薛薛2 小时前
数据库-sql语句
数据库·sql·oracle
爱学英语的程序员2 小时前
面试官:你了解过哪些数据库?
java·数据库·spring boot·sql·mysql·mybatis
·云扬·3 小时前
MySQL Redo Log落盘机制深度解析
数据库·mysql
用户982863025684 小时前
pg内核实现细节
数据库
飞升不如收破烂~4 小时前
Redis 分布式锁+接口幂等性使用+当下流行的限流方案「落地实操」+用户连续点击两下按钮的解决方案自用总结
数据库·redis·分布式
workflower4 小时前
业务需求-假设场景
java·数据库·测试用例·集成测试·需求分析·模块测试·软件需求