gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 11:26:44 32 4
gpt4 key购买 nike

我正在尝试使用 pg_dump/pg_restore 实用程序将本地 PostgreSQL 数据库复制到 Heroku 应用程序。根据 Heroku 的官方指南进行操作:https://devcenter.heroku.com/articles/heroku-postgres-import-export

所以,我已经完成了转储:
pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump

然后我将它上传到一个可访问的网络服务器上(它真的可以访问,我已经检查过它是用 wgetpg_restore 下载文件的- 工作正常)。

然后我尝试在 Heroku 上恢复,但没有成功:

kulver@kvb:~/projects/gop/gop_flask$ heroku pg:backups restore 'MY_URL_HERE' postgresql-corrugated-15763
r010 ---restore---> DATABASE
An error occurred and your backup did not finish.

Please run `heroku pg:backups info r010` for details.

详情如下:

kulver@kvb:~/projects/gop/gop_flask$ heroku pg:backups info r010
=== Backup info: r010

Database: BACKUP
Started: 2016-03-26 20:15:32 +0000
Finished: 2016-03-26 20:15:32 +0000
Status: Failed
Type: Manual
Backup Size: 23.9MB
=== Backup Logs
... a bunch of logs here ...
2016-03-26 20:15:32 +0000: pg_restore: processing data for table "cards"
2016-03-26 20:15:32 +0000: waiting for restore to complete
2016-03-26 20:15:32 +0000: pg_restore: [custom archiver] could not read from input file: end of file
2016-03-26 20:15:32 +0000: restore done
2016-03-26 20:15:32 +0000: waiting for download to complete
2016-03-26 20:15:32 +0000: download done

我试图重新制作转储文件,重新加载它 - 同样的错误。怎么了?为什么我可以在刚刚创建的数据库上下载它并从中恢复,但不能在 Heroku 上?

感谢您的任何建议。

最佳答案

我未能完全按照上述方式加载转储,但我找到了另一种对我来说效果很好的解决方案:

以简单的 SQL 格式进行转储:
pg_dump --no-owner mydb > mydb.dump

您可能需要切换到有权访问您的数据库的用户,postgres例如。所以,sudo su postgres然后进行转储。

然后用psql加载它工具:
user@pc:~/path/to/your/dump$ heroku pg:psql < mydb.dump

关于postgresql - 无法在 Heroku 上进行 pg_restore : "could not read from input file: end of file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36240600/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com