Heoku Postgres的问题“无法访问文件“ $ libdir / postgis-2.1”

时间:2019-03-03 21:49:43

标签: django heroku postgis postgresql-9.4

我有一个与GeoDjango,Postgis一起使用的项目,并将其部署在Heroku中。

一些我正在使用的信息:

  • Python 2.7.15
  • Django 1.11.20
  • Heroku-18(堆栈)
  • Postgres 9.4.20
  • Postgis 2.1.8

在过去的几个月中,每次执行地理编码查询时,每次我想加载地理信息时,系统都会向我抛出错误。

  

错误:无法访问文件“ $ libdir / postgis-2.1”:没有此类文件或   目录

我一直在寻找解决方案的网络和stackoverflow,我发现确实有些问题,但我尝试了他们的解决方案,但对我不起作用。

我尝试了“ ALTER EXTENSION postgis UPDATE”解决方案,但抛出此错误:

  

错误:无法在安全性受限的范围内创建临时表   操作

我尝试了“ 备份数据库,删除本地数据库并恢复数据库”,但是当我运行命令pg:backups:capture时,我得到了

  

发生错误,备份未完成。

当我运行pg:backups:info时 并把这个给我:

  

2019-03-02 23:08:31 +0000 pg_dump:[存档(db)]查询失败:   错误:无法访问文件“ $ libdir / postgis-2.1”:没有此类文件或   目录...(一些数据库代码)2019-03-02 23:08:31 +0000   等待pg_dump完成2019-03-02 23:08:31 +0000 pg_dump   错误结束

然后我找到了此条目 Update PostGIS extensions on Heroku 并发现这与heroku postgres存在相同的问题(但是作者使用的是ruby),作者说这是由Heroku的支持团队提供的。好吧,我创建了一个票证,发现“ 在线社区提供了对免费应用程序的技术支持”和stackoverflow,因此我尝试向该用户添加评论,例如“嘿,你能请分享解决方案吗?我有同样的问题。”但是我没有足够的声誉来做到这一点。

那我该怎么办?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案!

使用旧的数据库备份存档,我从heroku数据存储部分重置了数据库,然后使用备份存档(使用pgAdmin III)进行了还原,并解决了问题。

似乎错误是Postgis版本的,因为当我遇到问题时,我的Postgis版本是 2.1.8 ,现在由于错误解决了,我的Postgis版本是 2.4.4

我希望它对某人有用。