Postgresql Postgres:单独路径中的PostGIS扩展
我使用的Linux机器安装了SuSE 12.1和Postgres 9.4(如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
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安装postgis后从您的psql控制台执行代码>是,它会抱怨“/usr/share/postgresql94/extension/postgis.control”:没有这样的文件或目录。它当然不知道postgis安装在非根用户区域。我的问题是让博士后了解博士后地理信息系统。谢谢你的回复。我想这证实了我最担心的事情。我的选择是说服我们的管理员安装扩展,或者让我自己尝试安装postgres,至少出于开发目的。我在安装PostGis时使用了“make install DESTDIR=/a/b/c”,如果这符合贵公司的利益,我相信您会找到能够说服DBA的人。PostGIS是一个众所周知的、受信任的PostgreSQL扩展。