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

Postgresql Postgres:单独路径中的PostGIS扩展,postgresql,postgis,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/postgres

我使用的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\u LIBRARY\u PATH
?)或创建一个
postgis.control
文件以及所有相关细节等

任何协助,包括简单地指向文件,将不胜感激


我看到了一些类似的问题,但似乎并没有人在单独的目录中解决我的扩展问题——PostGIS。它们假定根用户可以访问。

与每个扩展一样,PostGIS必须安装在PostgreSQL扩展子目录下(在
共享下)

配置PostGIS时,它会在
路径上查找
pg_config
,或者您可以明确指定
--with pgconfig
选项进行
配置

构建PostGIS后,
makeinstall
将自动将所有文件放在正确的位置

您不太清楚如何构建PostGIS,但您肯定在某个地方偏离了正确的路径。如果你能分享一些细节,我们也许能找出哪里出了问题


重新阅读您的问题,我得到的印象是,您将PostGIS安装在PostgreSQL软件目录之外的某个位置,因为您缺少必要的
root
权限。这根本行不通,也没有解决办法


您必须将PostgreSQL安装到具有写访问权限的地方。

您是否运行了
创建扩展postgis是,它会抱怨“/usr/share/postgresql94/extension/postgis.control”:没有这样的文件或目录。它当然不知道postgis安装在非根用户区域。我的问题是让博士后了解博士后地理信息系统。谢谢你的回复。我想这证实了我最担心的事情。我的选择是说服我们的管理员安装扩展,或者让我自己尝试安装postgres,至少出于开发目的。我在安装PostGis时使用了“make install DESTDIR=/a/b/c”,如果这符合贵公司的利益,我相信您会找到能够说服DBA的人。PostGIS是一个众所周知的、受信任的PostgreSQL扩展。