pgsql2pgsql ツールを利用することで、AnalyticDB for PostgreSQL、Greenplum Database、PostgreSQL や PPAS 上のテーブルを AnalyticDB for PostgreSQL、Greenplum Database、PostgreSQL や PPAS へ 個別に保存することなく移行することができます。

機能

pgsql2pgsql は、次の機能をサポートします。

  • PostgreSQL、PPAS、Greenplum Database や AnalyticDB for PostgreSQL から、PostgreSQL、PPAS、Greenplum Database や AnalyticDB for PostgreSQL への フルデータペース移行。

  • PostgreSQL や PPAS (バージョン 9.4 以降) から、 PostgreSQL や PPAS への完全なデータベース移行と増分データ移行。

パラメーターの設定

my.cfg 設定ファイルを変更し、ソースおよび対象のデータベース接続情報を 設定します。

  • ソース側の PostgreSQL データベースの接続情報は、 次のように表示されます。

    ユーザーは、ソース PostgreSQL データベース接続情報の 保有者です。
    1. [src.pgsql]connect_string = "host=192.168.1.1 dbname=test port=5888 user=test password=pgsql"
  • ローカルの一時 PostgreSQL データベースの接続情報は、 次のように表示されます。

    1. [local.pgsql]connect_string = host=192.168.1.2 dbname=test port=3432 user=test2 password=pgsql
  • 対象の PostgreSQL データベースの接続情報は、 次のようになります。

    対象の PostgreSQL データベースのテーブルに対する書込み権限が 必要です。
    1. [desc.pgsql]connect_string = host=192.168.1.3 dbname=test port=3432 user=test3 password=pgsql
  • 増分データ同期を実行する場合、接続されたソースデータベースは 複製スロットを作成する権限が必要になります。
  • PostgreSQL 9.4 以降のバージョンはロジックストリームの複製をサポートします。 そのため、PostgreSQL がデータソースである場合、増分以降を サポートします。 カーネルは以下のカーネルパラメーターを有効にした後、ロジックストリーム複製だけを サポートします。

    • wal_level = logical
    • max_wal_senders = 6
    • max_replication_slots = 6
  1. </section>
  2. <section class="section" id="section-ny5-0j1-xyw">
  3. <h2 class="title sectiontitle" id="title-63w-tel-dk8">pgsql2pgsql の使用方法</h2>
  4. <p class="p" id="p-j82-uqh-2c5"><strong class="ph b" id="b-n8o-ct6-2a6">フルデータベース移行</strong></p>
  5. <p class="p" id="p-lr2-66i-gt2">データベースの完全移行を実行するには、次のコマンドを実行します。</p>
  6. <pre class="pre codeblock" id="codeblock-tsl-yzb-p8l"><code>./pgsql2pgsql</code></pre>
  7. <p class="p" id="p-dyz-mjm-uex">デフォルトでは、移行プログラムは対応する PostgreSQL データベースのテーブルデータを PostgreSQL に移行します。</p>
  8. </section>
  9. <section class="section" id="section-ydg-oqk-xgz">
  10. <h2 class="title sectiontitle" id="title-g6f-vsl-wnn">ステータス情報の照会</h2>
  11. <p class="p" id="p-ftc-j8f-ati">ローカルの一時データベースに接続すると、単一の移行プロセスでステータス情報を 表示します。 データベース全体の移行の開始時刻と 終了時刻、 増分データ移行の開始時刻、増分同期のデータ状況などの情報が
  12. db_sync_status テーブルに格納されます。
  13. </p>
  14. </section>
  15. <section class="section" id="section-ctu-rvd-x6h">
  16. <h2 class="title sectiontitle" id="title-pxz-gdp-kbq">ダウンロードと手順</h2>
  17. <ul class="ul" id="ul-mdx-qtr-gfb">
  18. <li class="li" id="li-xz3-z3t-s3o">
  19. <p class="p" id="p-d9c-1ax-qtt"><a title="" href="https://github.com/aliyun/rds_dbsync/releases">rds_dbsync のバイナリインストーラーをダウンロード</a></p>
  20. </li>
  21. <li class="li" id="li-voi-hy2-g9s">
  22. <p class="p" id="p-lap-r8l-pe5"><a title="" href="https://github.com/aliyun/rds_dbsync/blob/master/doc/design.md">rds_dbsync ソースコードを表示。 コンバイル手順</a></p>
  23. </li>
  24. </ul>
  25. </section>
  26. </div>
  27. </article>
  28. </main>