Python Postgresql更新原因:';django.db.utils.OperationalError:无法访问文件"$libdir/postgis-2.4“没有这样的文件或目录';

Python Postgresql更新原因:';django.db.utils.OperationalError:无法访问文件"$libdir/postgis-2.4“没有这样的文件或目录';,python,django,postgresql,homebrew,postgis,Python,Django,Postgresql,Homebrew,Postgis,我们在OSX实例上运行的Django项目在意外升级brew后出现问题 在此之前,Django系统使用postgis-2.3运行postgresql-9.5,并且没有任何问题 然而,一旦brew安装了postgresql 10.5版和postgis 2.5版,一切都开始崩溃 此更新后,尝试在Django中运行数据库查询时,我们收到以下错误: django.db.utils.OperationalError: could not access file "$libdir/postgis-2

我们在OSX实例上运行的Django项目在意外升级brew后出现问题

在此之前,Django系统使用postgis-2.3运行postgresql-9.5,并且没有任何问题

然而,一旦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";
我们得到一个错误:

错误:扩展“postgis”没有从版本“2.5.0”到版本“2.4.0”的更新路径。

我们没有成功地用brew重新安装postgresql 9.5和postgis 2.3,也不知道下一步该如何尝试运行开发系统

正在寻找关于如何让Django实例查找扩展2.5(我猜现在已经存在)或如何通过brew将postgres系统恢复到mac上以前的状态的建议

Django版本2.0.1和psycopg2版本2.7.3.2

更新

不幸的是,到目前为止,唯一有效的解决方案是按照n1000的答案,基本上

  • 创建数据的pg_转储

    pg\u dump-h HOST\u URL--用户--密码--列插入--仅数据-T'topology.topology'-T'public.*'POSTGRES\u服务器上的数据库\u NAME \u-O-x>local.sql

  • 已删除本地数据库

  • 在psql上运行更新脚本

    alterextensionpostgis更新

  • 从先前创建的pd_转储恢复数据

    psql-U postgres数据库


  • 运行ArchLinux、Rails 5.2、PostgreSQL 10.5、Postgis 2.4.4-4。今天(2018年10月1日)进行了系统更新,并更新了相关的Postgis库,即Postgis、gdal、geos和proj。在尝试查询启用postgis的数据库时立即遇到相同错误:
    无法访问文件“$libdir/postgis-2.4”

    解决方案是只需打开一个
    psql
    控制台并更新
    postgis
    扩展

    psql -d <name_of_database>
    ALTER EXTENSION postgis UPDATE;
    
    psql-d
    更改扩展postgis更新;