PostGIS版本不兼容求助:pg13版无法在PostgreSQL17.2中加载
问题解答
核心问题原因
你下载的postgis-bundle-pg13x64-setup-3.5.0-1.exe是专门为PostgreSQL 13编译的版本,PostGIS与PostgreSQL的版本绑定非常严格——扩展是基于特定PG主版本的编译环境构建的,主版本(如13 vs 17)不匹配就会触发加载错误,这和PG小版本(如17.1 vs 17.2)差异无关。
你的疑问逐一解答
是否需要卸载重装旧版PostgreSQL?
不需要特意降级PG。正确做法是卸载当前适配PG13的PostGIS,重新下载适配PostgreSQL 17的PostGIS安装包,确保安装包文件名中的PG版本标识与你的PG主版本一致(比如文件名包含pg17)。小版本差异是否会导致不兼容?
不会。PostGIS对PostgreSQL的兼容按主版本划分,只要主版本匹配(如PG17.x搭配为PG17编译的PostGIS),小版本(17.1/17.2)的差异不会触发这类加载错误。是否有设置项可让其适配新版本PostgreSQL?
没有。PostGIS作为编译型扩展,依赖PG的底层API,不同主版本的PG API存在不兼容变更,无法通过配置项让为旧主版本编译的PostGIS适配新主版本的PG。
正确操作步骤
- 通过系统控制面板的程序卸载功能,移除已安装的适配PG13的PostGIS
- 下载对应PostgreSQL 17的PostGIS bundle安装包
- 运行安装包,确保选择正确的PostgreSQL 17安装路径
- 重新执行
CREATE EXTENSION postgis;即可正常启用扩展
内容的提问来源于stack exchange,提问作者user398482
相关产品推荐
相关产品推荐

