PostgreSQLデータベースを別のサーバーにコピーする 質問する

PostgreSQLデータベースを別のサーバーにコピーする 質問する

運用中の PostgreSQL データベースを開発サーバーにコピーしたいと考えています。これを行う最も迅速で簡単な方法は何ですか?

ベストアンサー1

中間ファイルを作成する必要はありません。

pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname

または

pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname

psqlまたは を使用してpg_dumpリモート ホストに接続します。

データベースが大きい場合や接続速度が遅い場合は、ファイルをダンプして圧縮したファイルを転送する方が高速になる場合があります。

Kornelが言ったように、中間ファイルにダンプする必要はありません。圧縮して作業したい場合は、圧縮トンネルを使用できます。

pg_dump -C dbname | bzip2 | ssh  remoteuser@remotehost "bunzip2 | psql dbname"

または

pg_dump -C dbname | ssh -C remoteuser@remotehost "psql dbname"

しかし、このソリューションでは、両端でセッションを取得する必要もあります。

注: pg_dumpはバックアップ用、psqlは復元用です。したがって、この回答の最初のコマンドはローカルからリモートへのコピーであり、2 番目のコマンドはリモートからローカルへのコピーです。詳細 ->参考: postgresql.org/docs/9.6/app-pgdump.html

おすすめ記事