Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法还原heroku上的postgres转储_Python_Django_Postgresql_Heroku_Django Rest Framework - Fatal编程技术网

Python 无法还原heroku上的postgres转储

Python 无法还原heroku上的postgres转储,python,django,postgresql,heroku,django-rest-framework,Python,Django,Postgresql,Heroku,Django Rest Framework,我正在使用此命令在本地创建转储 PGPASSWORD=admin pg_dump-h 127.0.0.1-p 5432-U postgres--无所有者--无acl-f数据库。dump和my已成功创建 然后将此转储文件上载到dropbox,并使用此链接将其公开http://www.dropbox.com/s/rsqeiuqzusejz5x/database.dump?dl=1请注意,我已将https更改为http,将dl=0更改为dl=1(dl=1可下载) 然后在我的终端上运行这个命令herok

我正在使用此命令在本地创建转储
PGPASSWORD=admin pg_dump-h 127.0.0.1-p 5432-U postgres--无所有者--无acl-f数据库。dump
和my已成功创建

然后将此转储文件上载到dropbox,并使用此链接将其公开
http://www.dropbox.com/s/rsqeiuqzusejz5x/database.dump?dl=1
请注意,我已将
https
更改为
http
,将
dl=0
更改为
dl=1
(dl=1可下载)

然后在我的终端上运行这个命令
heroku pg:backups:restore“http://www.dropbox.com/s/38prh2y7pdwhqqj/database.dump?dl=1“--确认宁静安克雷奇-39635

但我得到了这个错误

 !    An error occurred and the backup did not finish.
 !
 !    pg_restore: error: did not find magic string in file header
 !    waiting for restore to complete
 !    pg_restore finished with errors
 !    waiting for download to complete
 !    download finished successfully
 !
 !    Run heroku pg:backups:info r010 for more details.

我尝试了所有的官方文档和各种答案,但似乎没有任何效果。

尝试使用-Fc选项运行pg_dump(自定义格式) )如以下文件所述:


通过进一步研究,我发现在恢复转储文件时,
pg_restore
命令要求在创建转储文件时必须提到某种格式。这就是出现错误的原因。
pg_restore:error:在文件头中找不到神奇字符串。

pg_dump-h-p-U--format=c>daman.dump
运行此命令后,系统将提示您输入用户的密码

注意上面命令中的
--format=c
。这将创建一个转储文件,其格式可以通过
pg_restore
还原,而且我应该指出,与未使用
--format=c
的情况不同,以这种方式创建的转储文件对于文本编辑器(如记事本或vscode)是不可读的


有关更多详细信息,请参阅文档

否,这也没有帮助。但是我已经找到了这个问题的根本原因和解决方案,请注意-Fc与--format=c完全相同。看,是的,我同意,但出于某种奇怪的原因,
-Fc
似乎不起作用。我试过很多方法,但都不管用
 pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump