如要建立 AlloyDB for PostgreSQL 資料庫的可攜式二進位封存檔,以便日後使用 pg_restore 工具還原,您可以使用 pg_dump 將資料庫匯出為自訂格式的 DMP 檔案。
匯出程序包含下列工作:
建立 Cloud Storage bucket,用於儲存 DMP 檔案。
準備用戶端主機,以便執行匯出作業。
將資料庫匯出至 DMP 檔案。
事前準備
- 您必須在使用的 Google Cloud 專案中,具備「擁有者」(
roles/owner) 或「編輯者」(roles/editor) 基本 IAM 角色,或具備下列預先定義的 IAM 角色:- AlloyDB 管理員 (
roles/alloydb.admin) 或 AlloyDB 檢視者 (roles/alloydb.viewer) - 儲存空間管理員 (
roles/storage.admin) - Compute 執行個體管理員 (v1) (
roles/compute.instanceAdmin.v1)
- AlloyDB 管理員 (
建立 Cloud Storage bucket
在 AlloyDB 資料庫所在的專案和區域,建立 Standard Storage Regional Storage bucket。
準備用戶端主機
如要準備用戶端主機來執行匯出作業,請建立 Compute Engine VM,並連線至資料庫所在的 AlloyDB 主要執行個體,然後在該 VM 上安裝 pg_dump 工具和 Google Cloud CLI。
請按照「將 psql 用戶端連線至執行個體」一文的操作說明,建立具備適當連線能力且已安裝
pg_dump工具的 Compute Engine VM。按照這些操作說明操作時,請務必為 Compute Engine VM 分配足夠的本機儲存空間,以容納您要建立的 DMP 檔案。安裝 gcloud CLI,以便透過指令列存取權,在 Cloud Storage bucket 中建立 DMP 檔案。
匯出資料庫
如要將資料庫匯出至 DMP 檔案,請取得資料庫所在 AlloyDB 主要執行個體的 IP 位址,然後使用 pg_dump 工具。
- 查看 AlloyDB 主要執行個體的詳細資料,取得資料庫所在執行個體的 IP 位址。
- 透過 SSH 連線至 Compute Engine VM。
控制台
- 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
- 在虛擬機器執行個體清單中,按一下您建立的執行個體那一列的「SSH」SSH。

gcloud
使用
gcloud compute ssh指令連線至您建立的執行個體。gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
更改下列內容:
PROJECT_ID:執行個體 所在專案的 ID。ZONE:執行個體所在的可用區名稱。VM_NAME:執行個體名稱。
- 將資料庫匯出為 DMP 檔案:
pg_dump -h IP_ADDRESS -U postgres -F custom \ DB_NAME > DMP_FILE_NAME
系統會提示您輸入
postgres使用者的密碼。更改下列內容:
IP_ADDRESS:主要執行個體的 IP 位址。-F custom:將 DMP 檔案格式設為自訂格式封存檔,以便日後使用pg_restore工具匯入。DB_NAME:要匯出的資料庫名稱。DMP_FILE_NAME:提供 DMP 檔案的名稱,以便在用戶端主機的本機檔案系統上建立。
如要瞭解
pg_dump指令支援的其他選項,請參閱 PostgreSQLpg_dump說明文件。 - 將 DMP 檔案複製到先前建立的 Cloud Storage bucket:
gcloud storage cp DMP_FILE_NAME gs://BUCKET_NAME
清除所用資源
成功匯出 DMP 檔案後,您可以刪除匯出程序中使用的 Compute Engine VM。
後續步驟
- 瞭解如何匯出 CSV 檔案。
- 瞭解如何匯出 SQL dump 檔案。