.png)
我有一個本地 SUSE 12 sp3 VM,帶有 PostgreSQL 10 資料庫,大小約為 45GB。
我還有一個帶有 PostgreSQL 10 資料庫的 SUSE 12 sp3 伺服器的 Google Cloud Platform (GCP) 映像/實例,其中還沒有資料庫資料。
GCP 目錄結構和設定與本機 VM 檔案目錄和設定略有不同,但它們都是 PostgreSQL 10。
我想將盡可能多的資料從本地資料庫傳輸到 GCP 資料庫。當我完成時,資料庫應該是相同的,但目錄結構會不同。
我是 GCP 的新手。這是一次試駕。我的新資料庫需要位於區域儲存上(不是近線、冷線或多區域)。
我目前的策略是:
pg_dumpall > db.out
在我的舊本地資料庫上使用- 將該檔案儲存
db.out
到我們的 Windows VM 檔案伺服器,我可以透過工作站上的映射磁碟機存取該伺服器。 - 在 GCP 控制台上透過我的工作站前往:存儲,選擇我的儲存桶,上傳文件,然後將 db.out 檔案上傳到我的實例所在的儲存桶。
- 用於
psql -f db.out postgres
將資料、角色等載入到我的新 GCP 實例中。
這是一個可靠的方法嗎?儘管目錄結構不同,這仍然有效嗎?有更好的方法嗎?技巧還是陷阱?
關聯:http://www.postgresql.org/docs/current/static/app-pg-dumpall.html
(我仍在尋找有用的 GCP 鏈接,因此提出了這個問題。)
請注意,「目錄結構」我指的是伺服器目錄結構。目錄結構發生了變化,因為我在 GCP 實例上以不同的方式(按照我想要的方式)安裝了 PostgreSQL 10。
謝謝!
PS - 這是在 SO 上,但刪除了它,並將問題移至此處,希望獲得更多關注。我看到其他問題被轉移或轉移,但我沒有註意到有什麼辦法可以做到這一點,至少以我目前的信譽水平是如此。另外,我本來打算將其放在 Stack Exchange 網站資料庫管理員上,直到我看到那裡只有兩個人關注 Google-Cloud 標籤。歡迎就此提出建議。
答案1
將資料庫轉儲到 sql,將其傳輸到遠端計算機,然後透過 sql 匯入資料庫,就像您所做的那樣,這是實現您想要的效果的完全正常的方法。磁碟結構確實不應該成為問題。