ネイティブ PostgreSQL クライアントアプリケーション - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ネイティブ PostgreSQL クライアントアプリケーション

pg_dump、pg_dumpall、pg_restore などのネイティブ PostgreSQL クライアントアプリケーションをオフライン移行に使用できます。pg_dump ユーティリティは、PostgreSQL データベースをバックアップするためのものです。pg_dump を使用して、一貫したバックアップを作成し、単一のデータベースをバックアップできます。クラスター内のすべてのデータベースに共通のグローバルオブジェクト (ロールやテーブルスペースなど) をバックアップするには、pg_dumpall を使用します。pg_dump ユーティリティはスーパーユーザーとして実行することをお勧めします。スーパーユーザーのみが完全なダンプを実行できます。pg_dump ユーティリティには、ジョブオプション (ダンプを並行して実行する場合) の使用や、バックアップを取る際のディレクトリ形式など、バックアッププロセスを最適化するオプションもあります。詳細については、PostgreSQL ドキュメントの pg_dump ページの Options セクションを参照してください。

pg_restore ユーティリティは、pg_dump によって作成されたアーカイブから PostgreSQL データベースを復元するためのものです。pg_dump をカスタム形式またはディレクトリ形式で使用する場合、pg_restore ユーティリティを並列モードで実行できます。pg_restore のパフォーマンスを向上させるには、次のパラメータを調整できます。

  • 要件shared_buffersに合わせて を設定し、 を増やmaintenance_work_memしてインデックス作成を高速化します。

  • 広範なログ記録、autovacuum デーモン、および をオフにしますfull_page_writes

  • (オプション) スキーマをバックアップおよび復元し、データのみのダンプおよび復元を使用します。この方法を使用する場合は、 disable-triggersオプションを使用してパフォーマンスを向上させることができます。

pg_dump と pg_restore は、ターゲット EC2 インスタンスから実行できます。速度とパフォーマンスを向上させるには、AWS Direct Connect を使用することをお勧めします。最後に、バックアップファイルに十分なストレージがあることを確認します。

アーキテクチャ

次の図は、ネイティブ PostgreSQL クライアントアプリケーションを使用してオンプレミスの PostgreSQL データベースを AWS クラウドに移行するためのアーキテクチャを示しています。

ネイティブ PostgreSQL クライアントアプリケーションアーキテクチャ

この図表は、次のワークフローを示しています:

  1. pg_dump を使用してバックアップを作成します。

  2. EC2 インスタンスを作成し、インスタンスに PostgreSQL をインストールします。

  3. ダンプファイルを Amazon EC2 にコピーします。

  4. pg_restore を使用してバックアップファイルを復元します。

制限

移行を開始する前に、ネイティブ PostgreSQL クライアントアプリケーションを使用する際に次の制限事項を考慮することをお勧めします。

  • ダンプと復元は、大規模なデータベース (300 GB を超えるデータベース) では時間がかかる場合があります。

  • このオプションでは、データベースの完全なダウンタイムが必要です。

  • サーバーでバックアップを作成し、そのバックアップを Amazon EC2 にコピーするには、大量のディスク容量が必要です。