匯出 DMP 檔案

如要建立 AlloyDB for PostgreSQL 資料庫的可攜式二進位封存檔,以便日後使用 pg_restore 工具還原,您可以使用 pg_dump 將資料庫匯出為自訂格式的 DMP 檔案。

匯出程序包含下列工作:

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

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

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

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

事前準備

  • 您必須在使用的 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 bucket

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

準備用戶端主機

如要準備用戶端主機來執行匯出作業,請建立 Compute Engine VM,並連線至資料庫所在的 AlloyDB 主要執行個體,然後在該 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 pg_dump 說明文件。

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

清除所用資源

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

後續步驟