匯出資料庫叢集

匯出資料前,請務必完成下列事項:

授予資料庫服務匯出服務帳戶目的地物件儲存庫 bucket 的寫入權限。這個角色繫結必須在主體資料庫叢集所在的命名空間中建立。請參閱「授予及取得儲存空間存取權」。

建立資料庫叢集時,資料庫服務系統會自動建立這個服務帳戶。如要找出包含控制器維護服務帳戶的命名空間,請使用下列指令:

kubectl get dbclusters.postgresql <var>DATABASE_CLUSTER_NAME</var> -n <var>PROJECT_NAMESPACE</var> -o jsonpath='{.status.serviceAccounts.export}'

kubectl get dbclusters.postgresql <var>DATABASE_CLUSTER_NAME</var> -n <var>PROJECT_NAMESPACE</var> -o jsonpath='{.status.serviceAccounts.import}'

取得命名空間後,您要尋找的服務帳戶名稱為 postgresql-export-DATABASE_CLUSTER_NAME。

將 DATABASE_CLUSTER_NAME 替換為要匯出資料的資料庫叢集名稱。

您可以使用 GDC 控制台或 Distributed Cloud CLI,將資料庫叢集匯出至資料轉儲檔案:

控制台

  1. 從主選單中選擇「Database Service」。
  2. 選取要匯出的資料庫叢集。系統會將您導向該叢集的「Database cluster overview」(資料庫叢集總覽) 頁面。
  3. 按一下「 匯出」。「Export data」(匯出資料) 面板隨即開啟。
  4. 在「Export data」(匯出資料) 面板中,指定要匯出的儲存空間位置。
  5. 點選「匯出」。畫面上的訊息會指出匯出程序的狀態。

gdcloud

  1. 使用 gdcloud CLI 前,請先安裝並初始化。接著,向貴機構驗證身分。
  2. 執行下列指令,將資料庫檔案匯出至 dump 檔案:

    gdcloud database export sql DATABASE_CLUSTER \
         BUCKET_NAME/SAMPLE.dmp --project=PROJECT_NAME
    

    更改下列內容:

    • DATABASE_CLUSTER:要匯出的資料庫叢集名稱。
    • BUCKET_NAME/SAMPLE.dmp 替換為匯出 dump 檔案的目的地。
    • PROJECT_NAME 替換為資料庫叢集所在專案的名稱。

API

apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: Export
metadata:
  name: EXPORT_NAME
  namespace: USER_PROJECT
spec:
  dbclusterRef: DBCLUSTER_NAME
  exportLocation:
    s3Options:
      bucket: BUCKET_NAME
      key: dbs-export
    type: S3

請替換下列變數:

  • EXPORT_NAME:匯出作業的名稱。
  • USER_PROJECT:使用者專案名稱,用於建立要匯出的資料庫叢集。
  • DBCLUSTER_NAME:資料庫叢集的名稱。
  • BUCKET_NAME:用於儲存匯出檔案的物件儲存庫 bucket 名稱。