postgresql - Postgres:单独路径中的 PostGIS 扩展
问题描述
我使用的 Linux 机器安装了 SuSE 12.1 和 Postgres 9.4(as 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
访问。
解决方案
像每个扩展一样,PostGIS 必须安装在 PostgreSQL 扩展子目录(在 下share
)中。
配置 PostGIS 后,它会在pg_config
上查找PATH
,或者您可以明确指定--with-pgconfig
选项到configure
.
构建 PostGIS 后,make install
会自动将所有文件放在适当的位置。
您不是很具体是如何构建 PostGIS 的,但您一定是在某处偏离了正确的路径。如果您分享一些细节,我们或许能够找出问题所在。
重新阅读您的问题,我觉得您在 PostgreSQL 软件目录之外的某个地方安装了 PostGIS,因为您缺乏必要的root
权限。那根本行不通,也没有解决方法。
您必须在具有写入权限的地方安装 PostgreSQL。
推荐阅读
- c# - 如何使用 DataTemplateSelector 和 ContentControl 根据视图模型显示不同的控件?
- javascript - 在 Laravel 中使用 Vue
- python - 检索已打开文件的路径
- html - 当我将窗口调整为小尺寸时,右侧的内容被切断。
- php - 内爆后未使用 strip_tags 和 str_replace 清除文本
- javascript - 如何访问一个对象的属性到一个对象的属性
- reactjs - 如何在 REACT 中返回一个值(真或假)以查看元素是否悬停而不悬停在其上
- java - Java正则表达式从文件中的一行句子中获取特定的字符串
- python - 在 PySpark 中按特定日期分组
- android - 为什么 materialButton 会关闭我的应用程序?