如何改变 Postgres 寻找扩展的路径?

How to alter the path for Postgres looking for extensions?

我在 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 (PostgreSQL-9.6.3-1-win64-bigsql.exe) 和postgis (postgis-bundle-pg96x64-setup-2.3.2-1.exe) 的情况仍然相同。我复制文件直到所有路径都可以解析:

  1. C:\PostgreSQL\pg96\share\extensionC:\PostgreSQL\pg96\share\postgresql\extension
  2. 的所有内容
  3. postgis_topology-2.3.dllpostgis-2.3.dllrtpostgis-2.3.dlladdress_standardizer-2.3.dllogr_fdw.dllC:\PostgreSQL\pg96\libC:\PostgreSQL\pg96\lib\postgresql