でダンプを作成します
pg_dump -Fc -Z 9 --file=file.dump myDb
Fc
pg_restore への入力に適したカスタム アーカイブを出力します。これは、ロードするデータとオブジェクト定義の順序を変更できるという点で、最も柔軟な形式です。この形式もデフォルトで圧縮されます。
Z 9: --compress=0..9
使用する圧縮レベルを指定します。ゼロは圧縮なしを意味します。カスタム アーカイブ形式の場合、これは個々のテーブル データ セグメントの圧縮を指定し、デフォルトは適度なレベルで圧縮することです。プレーン テキスト出力の場合、0 以外の圧縮レベルを設定すると、出力ファイル全体が gzip を介して供給されたかのように圧縮されます。ただし、デフォルトでは圧縮しません。現在、tar アーカイブ形式は圧縮をまったくサポートしていません。
そしてそれを復元します
pg_restore -Fc -j 8 file.dump
-j: --jobs=number-of-jobs
複数の同時ジョブを使用して、pg_restore の最も時間のかかる部分 (データのロード、インデックスの作成、または制約の作成) を実行します。このオプションを使用すると、大規模なデータベースをマルチプロセッサ マシンで実行されているサーバーに復元する時間を大幅に短縮できます。
各ジョブは、オペレーティング システムに応じて 1 つのプロセスまたは 1 つのスレッドであり、サーバーへの個別の接続を使用します。
このオプションの最適値は、サーバー、クライアント、およびネットワークのハードウェア設定によって異なります。要因には、CPU コアの数とディスクのセットアップが含まれます。サーバーの CPU コアの数から始めるのが適切ですが、それよりも大きな値を設定すると、多くの場合、復元時間が短縮される可能性があります。もちろん、値が高すぎると、スラッシングのためにパフォーマンスが低下します。
このオプションでは、カスタムおよびディレクトリ アーカイブ形式のみがサポートされます。入力は通常のファイルまたはディレクトリでなければなりません (パイプなどではありません)。このオプションは、データベース サーバーに直接接続するのではなくスクリプトを発行する場合は無視されます。また、オプション --single-transaction と一緒に複数のジョブを使用することはできません。
リンク:
pg_dump
pg_restore