DMP ファイルをエクスポートする

このページでは、pg_dump ツールを使用して AlloyDB データベースをカスタム形式のアーカイブ DMP ファイルにエクスポートし、後で pg_restore ツールを使用してインポートする方法について説明します。

エクスポートを実行する手順は次のとおりです。

  1. DMP ファイルを保存する Cloud Storage バケットを作成します。

  2. エクスポート オペレーションを実行するクライアント ホストを準備します。

  3. DMP ファイルにデータベースをエクスポートします。

  4. 手順を実行するために作成したリソースをクリーンアップします。

始める前に

  • 使用している Google Cloud プロジェクトで、オーナー(roles/owner)または編集者(roles/editor)の基本 IAM ロールが必要です。または、次の事前定義された IAM ロールが必要です。
    • AlloyDB 管理者(roles/alloydb.admin)または AlloyDB 閲覧者(roles/alloydb.viewer
    • Storage 管理者(roles/storage.admin
    • Compute インスタンス管理者(v1)(roles/compute.instanceAdmin.v1

Cloud Storage バケットを作成する

AlloyDB データベースが存在するプロジェクトとリージョンに Standard Storage のリージョン ストレージ バケットを作成します。

クライアント ホストを準備する

エクスポート オペレーションを実行するクライアントホストを準備するには、データベースが配置されている AlloyDB プライマリ インスタンスに接続できる Compute Engine VM を作成し、その VM に pg_dump ツールと Google Cloud CLI をインストールします。

  1. psql クライアントをインスタンスに接続するの手順に沿って、適切な接続と pg_dump ツールがインストールされた Compute Engine VM を作成します。次の手順を行う場合は、作成する DMP ファイルに対応できる十分なローカル ストレージを Compute Engine VM に割り当ててください。

  2. gcloud CLI をインストールして、コマンドラインから Cloud Storage バケットに DMP ファイルを作成できるようにします。

データベースをエクスポートする

データベースを DMP ファイルにエクスポートするには、データベースが存在する AlloyDB プライマリ インスタンスの IP アドレスを取得し、pg_dump ツールを使用します。

  1. 詳細を表示して、データベースが存在する AlloyDB プライマリ インスタンスの IP アドレスを取得します。
  2. Compute Engine VM に SSH 接続します。
    Consolegcloud
    1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

      [VM インスタンス] に移動

    2. 仮想マシン インスタンスのリストで、作成したインスタンスの行にある [SSH] をクリックします。

      インスタンス名の横にある SSH ボタン。

    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 バケットにコピーします。
    gcloud storage cp DMP_FILE_NAME gs://BUCKET_NAME

リソースのクリーンアップ

DMP ファイルのエクスポートが正常に完了したら、エクスポート手順で使用した Compute Engine VM を削除できます。

次のステップ