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

3
我有一个本地的Postgresql数据库,想要将其导入到Heroku实例中。我安装了Postgresql 12.1版本。为了创建转储文件,我运行以下命令: pg_dump -Fc --no-acl --no-owner -h localhost -U nico nicoportfolio_development > mydb.dump 接着,我把这个转储文件添加到AWS S3 Bucket中。
根据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] unsupported version (1.14) in file header 我阅读了几篇关于此主题的帖子,提到Postgres版本过时可能导致问题,但我已经安装了最新版本。

2
在这个 Stack Overflow 的帖子上找到了我的问题的解决方案:https://dev59.com/jJXfa4cB1Zd3GeqPfHXP#36248298 - nflauria
2个回答

3
为了帮助您更快地解决问题,以下是修复步骤:
将转储文件以简单的 SQL 格式导出:
pg_dump --no-owner mydb > mydb.dump

你可能需要切换到具有访问数据库权限的用户,例如postgres。因此,

sudo su postgres 

然后生成转储文件。

接着使用 psql 工具加载它:

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

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接