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

ApsaraDB RDS:ApsaraDB RDS for PostgreSQLインスタンスから自己管理型PostgreSQLインスタンスへのデータの移行

最終更新日:Mar 26, 2024

このトピックでは、論理バックアップファイルを使用して、ApsaraDB RDS for PostgreSQLインスタンスから自己管理型PostgreSQLインスタンスにデータを移行する方法について説明します。

前提条件

  • PostgreSQLがコンピュータにインストールされています。 自己管理型PostgreSQLインスタンスは、RDSインスタンスと同じメジャーエンジンバージョンを実行します。

    説明

    この例では、組み込みのPostgreSQLツールpg_dumpを使用してデータをバックアップします。 コンピューターにPostgreSQLをインストールすると、ツールが自動的にインストールされます。

  • 自己管理型PostgreSQLインスタンスにデータベースが作成され、データベースにはデータが保存されません。

  • スーパーユーザーアカウントは、自己管理型PostgreSQLインスタンスに作成されます。

手順

  1. コンピュータのCLIで、次のコマンドを実行してデータをバックアップします。

    pg_dump -U <username> -h <hostname> -p <port> <databasename> -f <filename> -- exclude-table=public.ha_health_check

    次の表に、前のコマンドのパラメーターを示します。

    パラメーター

    説明

    username

    RDSインスタンスの特権アカウントのユーザー名。 特権アカウントの作成方法の詳細については、「ApsaraDB RDS For PostgreSQLインスタンスでのアカウントの作成」をご参照ください。

    hostname

    RDSインスタンスが存在するホストの名前。

    port

    RDSインスタンスへの接続に使用されるポート番号。

    databasename

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

    filename

    生成されたバックアップファイルに使用する名前。

    -- exclude-table=public.ha_health_check

    高可用性チェックをスキップすることを指定します。

    例:

    pg_dump -U testuser -h xxxx.pg.rds.aliyuncs.com -p 5432 testdb -f bkfile.sql -- exclude-table=public.ha_health_check
  2. 次のコマンドを実行して、論理バックアップファイルから自己管理型PostgreSQLインスタンスにデータを復元します。

    psql -U <username> -h <hostname> -d <databasename> -p <port> -f <filename.sql>

    次の表に、前のコマンドのパラメーターを示します。

    パラメーター

    説明

    username

    自己管理型PostgreSQLインスタンスのスーパーユーザーアカウントのユーザー名。

    hostname

    自己管理型PostgreSQLインスタンスが存在するホストの名前。 このパラメーターをlocalhostに設定します。

    port

    自己管理型PostgreSQLインスタンスへの接続に使用されるポート番号。

    databasename

    ターゲットテーブルの名前です。

    filename

    バックアップファイルの名前。

    例:

    psql -U testuser -h localhost -d testdb -p 5432 -f bkfile.sql

RDSインスタンスと自己管理型PostgreSQLインスタンスのパラメーター設定は異なります。 その結果、自己管理型PostgreSQLインスタンスにデータをインポートするときに、権限関連の警告やエラーが発生することがあります。 警告とエラーは無視できます。 例:

警告: 「xxxxx」の特権を取り消すことはできませんでした
エラー: ロール "xxxxx" は存在し
ません

FAQ

  • データの復元中にERROR: role "pg_rds_superuser" が存在せずWARNING: "xxxxx" の権限を取り消すことができませんがエラーメッセージが表示された場合はどうすればよいですか?

    RDSインスタンスと自己管理型PostgreSQLインスタンスのパラメーター設定は異なります。 その結果、自己管理型PostgreSQLインスタンスにデータをインポートするときに、権限関連の警告やエラーが発生することがあります。 警告とエラーは無視できます。