ОШИБКА Postgis: не удалось загрузить библиотеку "postgis-2.3.so"

Я относительно новичок в 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 ответа

Похоже, вы установили версию PostGIS, для которой требуется более поздняя версия GEOS, чем та, которую вы установили.

Ваш PostGIS ссылается на функцию GEOS GEOSMinimumClearance, но этого нет в вашей библиотеке GEOS, поэтому динамический компоновщик выдает ошибку.

Установите более свежую версию GEOS.

К сожалению, я не смог выяснить причину своей проблемы, я думаю, что это связано с несколькими версиями postgre и postgis, установленных одновременно.

Однако я смог найти решение! Я следовал этому руководству.

Другие вопросы по тегам