Postgresql 正在创建Postgis扩展名:";错误:无法打开扩展名控制文件";
当我运行Postgresql 正在创建Postgis扩展名:";错误:无法打开扩展名控制文件";,postgresql,macos,postgis,Postgresql,Macos,Postgis,当我运行createextensionpostgis时,我遇到以下错误 错误:无法打开扩展控制文件“/Library/PostgreSQL/9.6/share/PostgreSQL/extension/postgis.control”:没有这样的文件或目录 我使用的是在OS X El Capitan上使用自制软件安装的Postgres 9.6.3和PostGIS 2.3.2 mdfind-name postgis.control显示: PostGIS extension modules inst
createextensionpostgis时,我遇到以下错误代码>
错误:无法打开扩展控制文件“/Library/PostgreSQL/9.6/share/PostgreSQL/extension/postgis.control”:没有这样的文件或目录
我使用的是在OS X El Capitan上使用自制软件安装的Postgres 9.6.3和PostGIS 2.3.2
mdfind-name postgis.control
显示:
PostGIS extension modules installed to:
/usr/local/share/postgresql/extension
/usr/local/ceral/postgis/2.3.2/share/postgresql/extension/postgis.control
brew信息postgis
显示:
PostGIS extension modules installed to:
/usr/local/share/postgresql/extension
当我启动Postgres控制台时,我看到:
psql (9.6.3, server 9.6.1)
我读了一个类似的问题,并尝试使用上面答案中给出的命令重新加载postgresql,但我仍然看到psql(9.6.3,Server9.6.1)
。另外,我认为我的问题是不同的,因为它在/Library
中查找扩展控制文件,而不是/usr/local/cillar
任何帮助都将不胜感激。我在详细信息方面也遇到了类似的问题。当您的Postgres控制台中提到服务器时,这意味着您正在引用旧的代码库。停止该服务器并使用以下命令启动正确的服务器
$ brew services list
这将为您提供正在运行的数据库服务器的列表
$ brew services stop postgresql@<older-version>
$ brew services start postgresql
$brew服务停止postgresql@
$brew服务启动postgresql
当您尝试安装postgis时,它会作为依赖项安装最新版本的postgresql。
所以如果你安装了postgres@V(其中V是用户期望的版本)
brew安装postgresql@V
稍后运行此命令
brew安装postgis
它将安装Postgre10.1或任何最新版本。
所以在那之后如果你跑
创建扩展postgis代码>
在postgresql@V它将尝试检查其扩展目录,但在扩展目录中找不到postgis.control,因为此postgis安装在与之一起安装的postgresql版本的扩展文件夹中
要解决此问题,您必须创建一个符号链接,从给定的postgis安装到所需的postgresql@V
这个例子postgresql@9.6
ln -s /usr/local/share/postgresql/extension/postgis* /usr/local/Cellar/postgresql@9.6/9.6.6/share/postgresql@9.6/extension/
ln -s /usr/local/lib/postgresql/postgis-2.3.so /usr/local/Cellar/postgresql@9.6/9.6.6/lib/postgis-2.3
ln -s /usr/local/lib/postgresql/rtpostgis-2.3.so /usr/local/Cellar/postgresql@9.6/9.6.6/lib/
在运行这些命令之前,请检查系统中的postgresql版本和文件路径
谢谢你的帮助。也许会对你有所帮助。@michel.milezzi这正是我尝试过的,但它无法创建扩展。好吧@Fiona那么最后什么对你有用呢?@abbood最后在这里安装了相同的软件,哈哈哈,当默认的自制Postgres版本是13时,这似乎是一条死胡同,您尝试安装早期版本的postgis:“错误:为PostgreSQL 13.0构建的postgis无法加载到PostgreSQL 12.7中”