如何修改Postgres查找扩展的路径?

16

我在Windows机器上安装了Postgres,下载了PostGIS的二进制安装程序并进行了安装。我只有一个版本的Postgres,因此不可能出现混乱。

使用二进制安装程序安装PostGIS非常直观,安装目录也不会出错。它必须放到Postgres目录中。

现在,当我想创建PostGIS扩展时,我遇到了以下错误:

ERROR:  could not open extension control file "C:/APPS/POSTGR~1/pg96/../pg96/share/postgresql/extension/postgis.control": No such file or directory
********** Error **********

ERROR: could not open extension control file "C:/APPS/POSTGR~1/pg96/../pg96/share/postgresql/extension/postgis.control": No such file or directory
SQL state: 58P01

尽管当我进入目录C:\APPS\PostgreSQL\pg96\share\extension时,我确实有一个名为postgis.control的文件存在。

我该如何让这个扩展工作? 我检查了PostGIS二进制文件的内容,似乎结构得到了很好的保留,而且在通过二进制安装程序进行安装过程中,所有文件都被复制到适当的目录中。


你解决了吗?我也遇到了同样的问题,使用Postgres 9.6和postgis-bundle-pg96x64-setup-2.3.2-1安装程序。 - LKallipo
TomGeo,你能接受我的答案吗?看起来它仍然描述了正确的解决方法。 - LKallipo
1个回答

27

最新版本的PostgreSQL(PostgreSQL-9.6.3-1-win64-bigsql.exe)和postgis(postgis-bundle-pg96x64-setup-2.3.2-1.exe)似乎仍然存在同样的问题。我将文件复制到不同路径直到所有路径都能解析:

  1. C:\PostgreSQL\pg96\share\extension复制到C:\PostgreSQL\pg96\share\postgresql\extension
  2. C:\PostgreSQL\pg96\lib中复制postgis_topology-2.3.dll, postgis-2.3.dll, rtpostgis-2.3.dll, address_standardizer-2.3.dllogr_fdw.dllC:\PostgreSQL\pg96\lib\postgresql

这个解决方案对我在Windows 7上使用pg10很有效。谢谢。 - Liam Mitchell
3
这个解决方案适用于我在Windows 10上使用的PostgreSQL 9.6和PostGIS 2.4。谢谢。 - Figa17
你是英雄!适用于我使用的 Windows 10,Postgres 10.5-1 和“POSTGIS =”2.5.0 r16836“[扩展] PGSQL =”100“ GEOS =”3.7.0-CAPI-1.11.0 3.7.0“ PROJ =”Rel。4.9.3,2016 年 8 月 15 日发布“GDAL =”GDAL 2.2.4,发布于 2018 年 03 月 19 日 GDAL_DATA 找不到“LIBXML =”2.7.8“ LIBJSON =”0.12“ LIBPROTOBUF =”1.2.1“ RASTER” - codebusta
2
CentOS怎么样?我也有同样的问题。 - Micheal Toru

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接