すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ApsaraDB RDS for PostgreSQL インスタンスの論理バックアップを作成する

最終更新日:Mar 27, 2025

このトピックでは、pg_dump ユーティリティを使用して ApsaraDB RDS for PostgreSQL インスタンスの論理バックアップを作成し、バックアップファイルをローカルストレージにエクスポートする方法について説明します。

背景情報

PostgreSQL に付属の pg_dump ユーティリティは、個々のデータベースをバックアップするために使用されます。詳細については、「pg_dump」をご参照ください。

前提条件

  • Elastic Compute Service (ECS) インスタンスまたはオンプレミスホストの IP アドレスが、RDS インスタンスのホワイトリストに追加されていること。詳細については、「IP アドレスホワイトリストを設定する」をご参照ください。

  • ECS インスタンスまたはオンプレミスホストで、RDS インスタンスと同じバージョンの PostgreSQL が実行されていること。

    説明

    このトピックでは、CentOS 7 と PostgreSQL 15 を使用しています。

使用上の注意

RDS インスタンスの特権アカウントを使用して論理バックアップを作成することをお勧めします。特権アカウントの作成方法の詳細については、「アカウントを作成する」をご参照ください。

データベースをバックアップする

  1. ECS インスタンスまたはオンプレミスホストにログオンします。次に、次のコマンドを実行して、RDS インスタンスのデータベースをバックアップします。

    pg_dump -h '<hostname>' -U <username> -p <port> -Fc <dbname> > <dumpdir>

    パラメーター

    説明

    hostname

    RDS インスタンスへの接続に使用するエンドポイント。

    説明

    username

    RDS インスタンスの特権アカウントのユーザー名。

    port

    RDS インスタンスへの接続に使用するポート。

    -Fc

    出力ファイルの形式。-Fc はカスタム形式の使用を指定します。この形式は、pg_restore を使用して論理バックアップファイルをインポートし、データベースを復元する場合に最適です。詳細については、「pg_dump」をご参照ください。

    dbname

    バックアップするデータベースの名前。

    dumpdir

    エクスポートする論理バックアップファイルのディレクトリと名前。

    pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -Fc zht01 >  /tmp/testdb.dump
  2. CLI に Password: が表示されたら、RDS インスタンスの特権アカウントのパスワードを入力し、Enter キーを押します。

    ll /tmp/testdb.dump コマンドを実行して、バックアップファイルが生成されたかどうかを確認できます。

    image.png

1 つ以上のテーブルをバックアップする

  1. ECS インスタンスまたはオンプレミスホストにログオンします。次に、次のコマンドを実行して、RDS インスタンスのデータベースから 1 つ以上のテーブルをバックアップします。

    pg_dump -h '<hostname>' -U <username> -p <port> -t <Schema>.<table> -Fc <dbname> > <dumpdir>

    パラメーター

    説明

    hostname

    RDS インスタンスへの接続に使用するエンドポイント。

    説明

    username

    RDS インスタンスの特権アカウントのユーザー名。

    port

    RDS インスタンスへの接続に使用するポート。

    Schema

    バックアップするテーブルのスキーマ。このパラメーターのデフォルト値は [パブリック] です。テーブルのスキーマがパブリックの場合は、このパラメーターを指定する必要はありません。

    table

    バックアップするテーブルの名前。-t <Schema>.<table> を使用して複数のテーブルを指定できます。

    -Fc

    出力ファイルの形式。-Fc はカスタム形式の使用を指定します。この形式は、pg_restore を使用して論理バックアップファイルをインポートし、データベースを復元する場合に最適です。詳細については、「pg_dump」をご参照ください。

    dbname

    バックアップするデータベースの名前。

    dumpdir

    エクスポートする論理バックアップファイルのディレクトリと名前。

    例:

    pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -t zhttest0808 -Fc zht01 > /tmp/testdb2.dump
  2. CLI に Password: が表示されたら、RDS インスタンスの特権アカウントのパスワードを入力し、Enter キーを押します。

    ll /tmp/testdb2.dump コマンドを実行して、バックアップファイルが生成されたかどうかを確認できます。

    image.png

1 つ以上のテーブルを除外してデータベースをバックアップする

  1. ECS インスタンスまたはオンプレミスホストにログオンします。次に、次のコマンドを実行して、RDS インスタンスから 1 つ以上のテーブルを除外してデータベースをバックアップします。

    pg_dump -h '<hostname>' -U <username> -p <port> -T <table> -Fc <dbname> > <dumpdir>

    パラメーター

    説明

    hostname

    RDS インスタンスへの接続に使用するエンドポイント。

    説明

    username

    RDS インスタンスの特権アカウントのユーザー名。

    port

    RDS インスタンスへの接続に使用するポート。

    table

    除外するテーブルの名前。-T <table> を使用して複数のテーブルを除外できます。

    -Fc

    出力ファイルの形式。-Fc はカスタム形式の使用を指定します。この形式は、pg_restore を使用して論理バックアップファイルをインポートし、データベースを復元する場合に最適です。詳細については、「pg_dump」をご参照ください。

    dbname

    バックアップするデータベースの名前。

    dumpdir

    エクスポートする論理バックアップファイルのディレクトリと名前。

    例:

    pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -T zhttest0808 -Fc zht01 > /tmp/testdb3.dump
  2. CLI に Password: が表示されたら、RDS インスタンスの特権アカウントのパスワードを入力し、Enter キーを押します。

    ll /tmp/testdb3.dump コマンドを実行して、バックアップファイルが生成されたかどうかを確認できます。

    image.png

データを除外してデータベースのスキーマをバックアップする

  1. ECS インスタンスまたはオンプレミスホストにログオンします。次に、次のコマンドを実行して、RDS インスタンスからデータベースのスキーマをバックアップします。

    pg_dump -h '<hostname>' -U <username> -p <port> -s -Fc <dbname> > <dumpdir>

    パラメーター

    説明

    hostname

    RDS インスタンスへの接続に使用するエンドポイント。

    説明

    username

    RDS インスタンスの特権アカウントのユーザー名。

    port

    RDS インスタンスへの接続に使用するポート。

    -s

    データベースのスキーマのみをバックアップすることを指定します。データベースのデータはバックアップされません。詳細については、「pg_dump」をご参照ください。

    -Fc

    出力ファイルの形式。-Fc はカスタム形式の使用を指定します。この形式は、pg_restore を使用して論理バックアップファイルをインポートし、データベースを復元する場合に最適です。詳細については、「pg_dump」をご参照ください。

    dbname

    バックアップするデータベースの名前。

    dumpdir

    エクスポートする論理バックアップファイルのディレクトリと名前。

    例:

    pg_dump -h 'pgm-bpxxxxxx.pg.rds.aliyuncs.com' -U zht -p 5432 -s -Fc zht01 > /tmp/testdb4.dump
  2. CLI に Password: が表示されたら、RDS インスタンスの特権アカウントのパスワードを入力し、Enter キーを押します。

    ll /tmp/testdb4.dump コマンドを実行して、バックアップファイルが生成されたかどうかを確認できます。

    image.png

関連情報

RDS インスタンスに障害が発生し、インスタンスのデータを復元する必要がある場合は、「論理バックアップファイルからデータを復元する」に記載されている手順に従ってください。