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

Posted

技术标签:

【中文标题】Heoku Postgres 的问题“无法访问文件“$libdir/postgis-2.1”【英文标题】:Issue with Heoku Postgres "could not access file “$libdir/postgis-2.1" 【发布时间】:2019-03-03 21:49:42 【问题描述】:

我有一个与 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”:没有这样的文件或 目录

我已经在 web 和 *** 上寻找了解决方案,我发现了一些非常接近我的问题,但我尝试了他们的解决方案,但对我不起作用。

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

错误:无法在安全限制内创建临时表 操作

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

发生错误,备份未完成。

当我运行pg:backups:info 给我这个:

2019-03-02 23:08:31 +0000 pg_dump: [archiver (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 支持团队的帮助。好吧,我创建了一张票,发现“免费应用程序的技术支持由在线社区提供”和 ***,所以我尝试向该用户添加评论,说类似“嘿,你能请分享解决方案?我也有同样的问题。但我没有足够的声誉来做这件事。

那我该怎么办?

【问题讨论】:

【参考方案1】:

我找到了解决办法!!!

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

似乎错误与postgis版本有关,因为当我遇到问题时,我的postgis版本是2.1.8,现在错误解决了我的postgis版本是2.4.4

我希望它对某人有用。

【讨论】:

以上是关于Heoku Postgres 的问题“无法访问文件“$libdir/postgis-2.1”的主要内容,如果未能解决你的问题,请参考以下文章

网页无法访问文件夹。 (IIS)

C# 中的 FileStream 和 FileSystemWatcher,奇怪的问题“进程无法访问文件”

无法访问文件

C#:检查文件是不是存在 - 进程无法访问文件错误

c#异常进程无法访问文件

Azure 应用服务无法访问文件,因此甚至无法加载程序集