Postgis错误:无法加载库“postgis-2.3.so”

时间:2017-03-09 18:08:21

标签: macos postgresql postgis geos

我对postgres和postgis比较陌生,我试图根据一个名为坐标的列从数据库中检索数据,以及这些坐标离点(x,y)的接近程度我使用此查询:

SELECT * FROM myTable
WHERE ST_DWithin(
Geometry(coordinates),
Geometry(ST_MakePoint(5,5)),
800);

我收到了下一个错误:

ERROR:  could not load library
"/Applications/Postgres.app/Contents/Versions/9.6/lib/postgresql/postgis-2.3.so":
dlopen(/Applications/Postgres.app/Contents/Versions/9.6/lib/postgresql/posgis-2.3.so, 10):
Symbol not found: _GEOSMinimumClearance
Referenced from:
/Applications/Postgres.app/Contents/Versions/9.6/lib/postgresql/postgis-2.3.so
Expected in: flat namespace
in
/Applications/Postgres.app/Contents/Versions/9.6/lib/postgresql/postgis-2.3.so

我已经解决了以前安装GEOS然后proj的问题,但现在我无法解决这个问题。

请帮忙。

2 个答案:

答案 0 :(得分:0)

看起来您安装了一个版本的PostGIS,它需要的GEOS版本比您安装的版本要好。

您的PostGIS引用了GEOS函数GEOSMinimumClearance,但您的GEOS库中并不存在,因此动态链接器会抛出错误。

安装更新版本的GEOS。

答案 1 :(得分:0)

可悲的是,我无法找出问题的原因,我认为这是由于同时安装了多个版本的postgre和postgis。

但是我能够找到解决方案!我遵循了这个guide