В нашем проекте Django, работающем на экземпляре OSX, возникла проблема после случайного обновления с помощью brew.
Ранее система Django работала с postgresql-9.5 с использованием postgis-2.3 и работала без проблем.
Однако после того, как brew установил postgresql версии 10.5 и postgis 2.5, все начало ломаться.
После этого обновления мы получаем следующую ошибку при попытке выполнить запрос к базе данных в Django:
django.db.utils.OperationalError: could not access file "$libdir/postgis-2.4": No such file or directory
При входе в psql, чтобы попытаться получить расширение до 2.4, запустите:
ALTER EXTENSION postgis UPDATE TO "2.4.0";
Мы получаем сообщение об ошибке:
ERROR: extension "postgis" has no update path from version "2.5.0" to version "2.4.0"
У нас ничего не получилосьпри переустановке postgresql 9.5 и postgis 2.3 с brew, и я не уверен, куда обратиться, чтобы попытаться запустить систему разработки.
Ищите предложения о том, как заставить экземпляр Django искать расширение 2.5, которое яЯ предполагаю, что теперь существует или вернуть систему postgres в прежнее состояние на Mac с помощью brew.
Django версия2.0.1 и psycopg2 версия 2.7.3.2
ОБНОВЛЕНИЕ
К сожалению, единственное решение, которое до сих пор работало, было следовать n1000 на gis StackExchange: Который в основном
Создать pg_dump данных
pg_dump -h HOST_URL --user USER --password --column-inserts --data-only -T 'topology.topology' -t 'public.*' DATABASE_NAME_ON_THE_POSTGRES_SERVER -O -x > local.sql
Удалил локальную базу данных
Запустить скрипт обновления на psql
ALTER EXTENSION postgis UPDATE;
Восстановить данные из pd_dump, созданного ранее
psql -U postgres DATABASE < local.sql