簡體   English   中英

將postgres DB從Heroku移動到Azure托管的基於Linux的VM(Django應用程序)所需的步驟

[英]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;創建一個名為mydatabaseCREATE 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM