匯出 DMP 檔案

本頁說明如何使用 pg_dump 工具,將 AlloyDB 資料庫匯出為自訂格式的封存 DMP 檔案,之後您可以使用 pg_restore 工具匯入該檔案。

匯出程序包含下列工作:

  1. 建立 Cloud Storage bucket,用來儲存 DMP 檔案。

  2. 準備用戶端主機,執行匯出作業。

  3. 將資料庫匯出至 DMP 檔案。

  4. 清除為執行程序建立的資源

事前準備

  • 您必須在使用的 Google Cloud 專案 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)

建立 Cloud Storage 值區

在 AlloyDB 資料庫所在的專案和區域,建立 Standard Storage Regional Storage bucket

準備用戶端主機

如要準備用戶端主機來執行匯出作業,請建立可連線至 AlloyDB 主要執行個體的 Compute Engine VM (資料庫所在位置),並在該 VM 上安裝 pg_dump 工具和 Google Cloud CLI。

  1. 請按照「將 psql 用戶端連線至執行個體」一文中的操作說明,建立具備適當連線能力並安裝 pg_dump 工具的 Compute Engine VM。按照這些操作說明進行時,請務必為 Compute Engine VM 分配足夠的本機儲存空間,以容納您建立的 DMP 檔案。

  2. 安裝 gcloud CLI,以便透過指令列存取權,在 Cloud Storage bucket 中建立 DMP 檔案。

匯出資料庫

如要將資料庫匯出為 DMP 檔案,請取得資料庫所在 AlloyDB 主要執行個體的 IP 位址,然後使用 pg_dump 工具。

  1. 查看詳細資料,取得資料庫所在 AlloyDB 主要執行個體的 IP 位址。
  2. 透過 SSH 連線至 Compute Engine VM。

    控制台

    1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面

      前往 VM 執行個體

    2. 在虛擬機器執行個體清單中,找到您建立的執行個體,然後在該列中按一下「SSH」SSH

      執行個體名稱旁邊的 SSH 按鈕。

    gcloud

    使用 gcloud compute ssh 指令連線至您建立的執行個體。

    gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME

    更改下列內容:

    • PROJECT_ID:包含執行個體的專案 ID。
    • ZONE:執行個體所在的可用區名稱。
    • VM_NAME:執行個體的名稱。
  3. 將資料庫匯出至 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 指令。如要瞭解這項指令支援的各種選項,請參閱 PostgreSQL 說明文件

  4. 將 DMP 檔案複製到先前建立的 Cloud Storage bucket:
    gcloud storage cp DMP_FILE_NAME gs://BUCKET_NAME

清除所用資源

成功匯出 DMP 檔案後,您可以刪除在匯出程序中使用的 Compute Engine VM

後續步驟