[英]Steps needed to move postgres DB from Heroku to an Azure hosted Linux-based VM (Django app)
我有一个postgres数据库,现在有40个表位于Heroku上。 它是一个Django应用程序,总行数约为500万。
我想将所有这些迁移到Azure VM中的精确副本(已经正确安装并设置了postgres)。
进行此迁移的最安全,最干净的方法是什么?
以下是我脑海中的步骤:
1)通过以下方式准备Azure VM:
切换到用户postgres
并通过键入psql
转到psql客户端
通过命令CREATE DATABASE mydatabase;
创建一个名为mydatabase
的CREATE DATABASE mydatabase;
无需在此阶段运行syncdb
来创建表。
2)登录Heroku命令行,并运行命令heroku maintenance:on
3)接下来,运行命令heroku run pg_dump -C dbname | bzip2 | ssh myusername@hostname "bunzip2 | psql mydatabase"
heroku run pg_dump -C dbname | bzip2 | ssh myusername@hostname "bunzip2 | psql mydatabase"
heroku run pg_dump -C dbname | bzip2 | ssh myusername@hostname "bunzip2 | psql mydatabase"
(来源: 这里 )
而已。 没有syncdb可以在任何时候创建表结构或任何东西。
任何人都可以评论这些步骤,并在需要的地方纠正吗? 谢谢!
注意:如果需要,请询问更多信息
heroku pg:backups capture
(捕获pg备份)
curl -o latest.dump heroku pg:backups public-url
(将pg备份下载到本地机器)
ls -lh latest.dump
(检查下载文件的大小,所以你确定你下载了完整的文件)
scp -P <your port eg 2222> latest.dump user@example.cloudapp.net:/home/user
(这会将文件传输到你的远程机器)
然后在你的远程机器上: pg_restore --verbose --clean --no-acl --no-owner -U myuser -d mydb latest.dump
希望这能完成工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.