ОШИБКА 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, установленных одновременно.
Однако я смог найти решение! Я следовал этому руководству.