You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统PgAdmin无法创建Postgis扩展,报错找不到postgis.control文件

解决方案

错误的核心原因是你当前运行的PostgreSQL 13实例对应的扩展目录下没有匹配版本的Postgis扩展文件,大部分Mac用户出现这个问题都是因为PostgreSQL和Postgis的安装来源不一致导致的,可按以下步骤排查解决:

  • 第一步:先确认当前PostgreSQL的安装来源
    执行终端命令查看psql路径:which psql
    • 若返回结果为/Library/PostgreSQL/13/bin/psql,说明你使用的是PostgreSQL官方dmg包安装的版本
    • 若返回结果为/usr/local/bin/psql(Intel芯片)或/opt/homebrew/bin/psql(Apple芯片),说明你使用的是Homebrew安装的版本

针对官方dmg安装的PostgreSQL 13

  • 不要使用Homebrew安装Postgis,Homebrew安装的Postgis默认只会写入自身管理的PostgreSQL扩展目录,不会同步到官方版的路径下
  • 直接下载对应PostgreSQL 13版本的Postgis官方Mac安装包,安装过程会自动将扩展文件写入/Library/PostgreSQL/13/share/postgresql/extension/目录
  • 安装完成后,先在PgAdmin中选中你要导入备份的数据库,执行命令验证扩展可正常创建:CREATE EXTENSION postgis;,无报错后再运行你的SQL备份文件

针对Homebrew安装的PostgreSQL 13

  • 先卸载当前已安装的Postgis:brew uninstall postgis
  • 安装和pg13匹配的Postgis版本:brew install postgresql@13 postgis
  • 执行对应芯片的命令将pg13的二进制路径加入系统环境变量,避免调用到其他版本的PostgreSQL:
    • Intel芯片:echo 'export PATH="/usr/local/opt/postgresql@13/bin:$PATH"' >> ~/.zshrc
    • Apple Silicon芯片:echo 'export PATH="/opt/homebrew/opt/postgresql@13/bin:$PATH"' >> ~/.zshrc
  • 重载环境变量:source ~/.zshrc
  • 重启PostgreSQL服务:brew services restart postgresql@13
  • 回到PgAdmin在目标库执行CREATE EXTENSION postgis;验证,成功后再导入备份文件

临时规避方案

如果暂时无法搞定Postgis安装,可以先手动编辑你的.sql备份文件,删除文件开头的CREATE EXTENSION postgis;、CREATE EXTENSION postgis_topology;等相关Postgis扩展创建语句,即可先导入非空间数据,后续安装好Postgis后再单独执行扩展创建语句即可。

内容的提问来源于stack exchange,提问作者gurbajani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:15:03