3

我正在尝试使用 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。有谁知道如何解决这一问题?

4

1 回答 1

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 Backups 访问和导入您的转储文件,您需要使用 HTTP 可访问的 URL 将其上传到某处。我们建议使用 Amazon S3。

在命令中使用原始文件 URL pgbackups:restore

请务必在临时 S3 URL 周围使用单引号,因为它包含与号和其他字符,否则会混淆您的 shell。

于 2013-09-23T19:52:46.463 回答