我正在尝试使用heroku pg:transfer将我的本地数据库转移到Heroku。
这是我正在运行的命令
heroku pg:transfer -f postgres://<username>:<password>@localhost:5432/<db_name> -t postgres://<app_path>.compute-1.amazonaws.com:5432/<stuff> --app <app_name> --confirm <app_name>
我收到以下错误消息
pg_restore: [archiver] did not find magic string in file header
pg_dump: [custom archiver] could not write to output file: Invalid argument
pg_dump: *** aborted because of error
我在Windows上使用Postgres。有谁知道如何解决这个问题?
答案 0 :(得分:1)
导入强> PG备份可用作将数据库转储从其他来源导入Heroku Postgres数据库的便捷工具。
使用开源pg_dump工具以压缩格式转储本地数据库:
$ PGPASSWORD=mypassword pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump
导入Heroku Postgres
为了让PG备份访问和导入转储文件,您需要使用HTTP可访问的URL上传它。我们建议使用Amazon S3。
使用pgbackups:restore
命令中的原始文件URL:
请务必在临时S3网址周围使用单引号 包含与您的shell混淆的&符号和其他字符 否则。