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 已成功启用。

相关推荐
2501_9481953416 小时前
RN for OpenHarmony英雄联盟助手App实战:主导航实现
数据库
Filotimo_16 小时前
N+1查询问题
数据库·oracle
a程序小傲17 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
fenglllle18 小时前
spring-data-jpa saveall慢的原因
数据库·spring·hibernate
DarkAthena19 小时前
【GaussDB】执行索引跳扫时如果遇到该索引正在执行autovacuum,可能会导致数据查询不到
数据库·gaussdb
短剑重铸之日19 小时前
《7天学会Redis》Day 5 - Redis Cluster集群架构
数据库·redis·后端·缓存·架构·cluster
007php00719 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
lkbhua莱克瓦2419 小时前
进阶-存储过程3-存储函数
java·数据库·sql·mysql·数据库优化·视图
老邓计算机毕设20 小时前
SSM心理健康系统84459(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·心理健康系统·在线咨询