[英]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.