从Heroku迁移PostgreSQL数据库到Railway

3

我正在尝试找到一种简单地将我的PostgreSQL数据库从Heroku迁移到Railway的方法。我已经尝试使用heroku pg:backups:capture --app APP_NAMEheroku pg:backups:download 以及 pg_restore,但都没有成功。

我遇到了以下错误:

pg_restore: error: corrupt tar header found in PGDMP (expected 0, computed 19471) file position 512
1个回答

2

简而言之:

heroku login
heroku run 'pg_dump $DATABASE_URL' > <filename.sql> --app <heroku-app-name>
PGPASSWORD=$PGPASSWORD psql -h $PGHOST -U $PGUSER -p $PGPORT -d $PGDATABASE -f <filename.sql>

详情:

如果你成功运行heroku login并登录后,$DATABASE_URL将从你的Heroku环境中读取,所以不需要手动插入数据库url。

<filename.sql>:指定任何你喜欢的文件名。稍后你会用它来导入数据库。

<heroku-app-name>:你的Heroku(后端)应用程序名称与Postgres数据库。

在你的Railway项目中提供一个新的PostgreSQL数据库,并从“变量”选项卡中获取$PGPASSWORD$PGHOST$PGUSER$PGPORT$PGDATABASE

这是应该看起来的样子:

示例(使用虚假凭据):

heroku login
heroku run 'pg_dump $DATABASE_URL' > mydatabasebackup.sql --app my-heroku-backend
PGPASSWORD=hjUasj8hasA6ahsjJash -h containers-us-west-15.railway.app -U postgres  -p 6473 -W -F t -d railway mydatabasebackup.sql

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