2017-03-09 18 views
-1

私はpostgresとpostgisには比較的新しいので、座標という名前の列に基づいてデータベースからデータを取得しようとしています。点(x、y)は、私はこのクエリを使用する:Postgis ERROR:ライブラリ "postgis-2.3.so"を読み込めませんでした

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、今はこれを解決するカント。

助けてください。

答えて

0

あなたがインストールしたものより新しいバージョンのGEOSが必要なPostGISのバージョンをインストールしたようです。

PostGISはGEOS関数GEOSMinimumClearanceを参照していますが、これはGEOSライブラリには存在しないため、動的リンカーはエラーをスローします。

GEOSのより新しいバージョンをインストールしてください。

+0

私は最新のバージョン(3.6.1)を持っていると思います[link](https://trac.osgeo.org/geos) –

0

悲しいことに私の問題の原因を見つけることができませんでした。私はそれが同時に複数のバージョンのpostgreとpostgisがインストールされていると考えています。

しかし、私は解決策を見つけることができました!、私はこれに続きましたguide

関連する問題