Heroku:pg_restore:[archiver] 文件头中不支持的版本 (1.14)

标签 heroku heroku-postgres

我有一个本地 Postgresql 数据库,我正试图将其导入到 Heroku 实例中。我安装了 Postgresql 12.1。要创建我正在运行的转储文件:

pg_dump -Fc --no-acl --no-owner -h localhost -U nico nicoportfolio_development > mydb.dump

然后我将转储文件添加到 aws s3 存储桶。

根据 heroku 文档,我创建了一个预签名的 url:

aws s3 presign s3://nicoportfolio/mydb.dump

最后我运行了 heroku pg restore 命令

heroku pg:backups:restore 'https://nicoportfolio.s3.amazonaws.com/mydb.dump?AWSAccessKeyId=AKIA2LPDMAPORY7QOOUK&Expires=1577325774&Signature=z6mBKKOVd6wPcFtCc8cjkjoKTLA%3D' DATABASE_URL

我收到以下错误:

pg_restore: [archiver] 文件头中不支持的版本 (1.14)

我已经阅读了有关此主题的其他几篇文章,其中提到导致问题的 Postgres 版本过时,但我拥有最新版本。

最佳答案

为您节省一次点击,这是解决方法:

以简单的 SQL 格式进行转储:

pg_dump --no-owner mydb > mydb.dump

您可能需要切换到有权访问您的数据库的用户,例如 postgres。所以,

sudo su postgres 

然后进行转储。

然后用psql工具载入:

user@pc:~/path/to/your/dump$ heroku pg:psql < mydb.dump

关于Heroku:pg_restore:[archiver] 文件头中不支持的版本 (1.14),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59482972/

相关文章:

postgresql - 无法在 Heroku 上进行 pg_restore : "could not read from input file: end of file"

python - django heroku makemigrations 忽略模型中的更改

postgresql - Heroku Postgres - 突然出现错误

postgresql - 如何从heroku下载db?

ruby-on-rails - Heroku destroy_all 1/2 百万行似乎挂起

css - Hexo 博客 CMS 部署到 Heroku 不工作

ruby-on-rails - Heroku 发布——回滚后如何前滚?

heroku - 在 Heroku 服务器上创建公钥

node.js - 最大限度地减少 Salesforce Streaming API 和 Heroku Connect 之间的延迟

ruby-on-rails - 我应该从 gitignore 中删除/public/packs (rails - webpacker - Heroku)