Postgres:PostGIS扩展在单独的路径中

时间:2019-03-21 16:30:33

标签: postgresql postgis

我使用的Linux机器安装了SuSE 12.1,并安装了Postgres 9.4(如root)。我能够在用户区域中编译并安装PostGIS 2.5扩展。在此安装下,我看到的还有contrib文件夹,一些sql文件和.so文件等。

我可以使用个人用户启动Postgres。如何让Postgres知道该目录,其中所有与PostGIS扩展相关的文件/对象都可用?

当我尝试创建扩展程序时,出现以下错误:

ERROR:  could not open extension control file "/usr/share/postgresql94/extension/postgis.control": No such file or directory

当然,由于Postgres不了解我的PostGIS安装,因此可能会出现一些错误。但是后者没有postgis.control这样的文件。

我猜测解决方案是确保Postgres可以查看.so文件(可以设置为LD_LIBRARY_PATH?)或创建具有所有相关详细信息的postgis.control文件。

任何帮助,包括仅指向文档的帮助,都会受到赞赏。

我看到了一些类似的问题,但是似乎没有人在单独的目录中解决我的扩展问题-PostGIS。他们假设拥有root访问权限。

1 个答案:

答案 0 :(得分:1)

像每个扩展一样,PostGIS必须安装在PostgreSQL扩展子目录(在share下)。

配置PostGIS后,它将在pg_config上查找PATH,或者您可以将--with-pgconfig选项明确指定为configure

构建了PostGIS后,make install会自动将所有文件放置在正确的位置。

您对PostGIS的构建方式不是很明确,但是您必须偏离正确的路径。如果您分享一些细节,我们也许可以找出问题所在。


重新阅读您的问题,我感到您已将PostGIS安装在PostgreSQL软件目录之外的某个位置,因为您缺少必要的root特权。那根本行不通,也没有解决方法。

您必须将PostgreSQL安装在您具有写权限的位置。