8

更新:以为我已经解决了,但我没有……请参见下文。


我在 Mac OSX 上安装 GeoDjango。我按照Mac 安装说明进行操作,一切顺利,现在正在为 PostGIS 创建空间数据库模板

但是,当我尝试加载 PostGIS SQL 例程时,我得到ERROR: could not access file "$libdir/postgis-1.5": No such file or directory

postgres$ psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql
psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql:59: ERROR:  could not access file "$libdir/postgis-1.5": No such file or directory
<snip>
psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql:7785: ERROR:  type "geometry" does not exist

出了什么问题,我该如何解决?

从 postgis IRC 找到了这些说明,但我认为我正在运行正确版本的 pg_config 等:

postgres$ which pg_config
/usr/local/pgsql/bin//pg_config
postgres$ which psql
/usr/local/pgsql/bin//psql
postgres$ pg_config --pkglibdir
/usr/local/pgsql/lib

我从KyngChaos安装了 postgres 及其 PostGIS 扩展。如果我查看/usr/local/pgsql/lib,那里有一个名为的文件postgis-1.5.so,所以我不明白为什么找不到它。

4

2 回答 2

3

我知道这是一个老问题,但我使用谷歌找到了它,所以其他人也可能会在这里结束。

在我的 Mac OSX macports 安装中,我有两个文件夹,其中包含用于 postgresql 的 .so 文件:

/opt/local/lib/postgresql90/

/usr/local/pgsql-9.0/lib/

看起来我的安装是在 /opt/local/lib/postgresql90/ 而不是 /usr/local/pgsql-9.0/lib/ 中,所以要安装 pg_trgm,我必须执行以下操作:

sudo ln -s /opt/local/lib/postgresql90/pg_trgm.so /usr/local/pgsql-9.0/lib/

这应该适用于任何不在正确位置的 .so 文件 - 在您的示例中,它本来是

sudo ln -s /opt/local/lib/postgresql90/postgis-1.5.so /usr/local/pgsql-9.0/lib/

这也允许我安装 postgis :)

于 2011-10-21T19:21:01.590 回答
0

文件 /usr/local/Cellar/postgresql9/9.0.17/lib/postgis-1.5.so 丢失。brew升级后发生此错误,解决方案是卸载postgis并重新安装:

冲泡卸载postgis15

冲泡安装postgis15

结果应该是: PostGIS 插件库安装到:/usr/local/Cellar/postgresql9/9.0.17/lib

所以之后你应该找到文件 /usr/local/Cellar/postgresql9/9.0.17/lib/postgis-1.5.so

于 2014-05-07T15:44:16.843 回答