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

相关推荐
·云扬·15 分钟前
MySQL Binlog 配置指南与核心作用解析
数据库·mysql·adb
天空属于哈夫克334 分钟前
Java 版:利用外部群 API 实现自动“技术开课”倒计时提醒
数据库·python·mysql
eWidget1 小时前
随机森林原理:集成学习思想 —— Java 实现多棵决策树投票机制
java·数据库·随机森林·集成学习·金仓数据库
Traced back1 小时前
SQL Server 核心语法+进阶知识点大全(小白版)
数据库·sqlserver
资深web全栈开发1 小时前
PostgreSQL枚举还是字符串:ENUM vs VARCHAR + CHECK 的权衡
数据库·postgresql
凯子坚持 c1 小时前
C++基于微服务脚手架的视频点播系统---客户端(4)
数据库·c++·微服务
OceanBase数据库官方博客1 小时前
OceanBase场景解码系列三|OB Cloud 如何稳定支撑中企出海实现数 10 倍的高速增长?
数据库·oceanbase·分布式数据库
m0_561359672 小时前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
山岚的运维笔记2 小时前
SQL Server笔记 -- 第14章:CASE语句
数据库·笔记·sql·microsoft·sqlserver
Data_Journal2 小时前
如何使用 Python 解析 JSON 数据
大数据·开发语言·前端·数据库·人工智能·php