sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLデータベースを別のサーバーにコピーしています

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

    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  [email protected] "bunzip2 | psql dbname"
    

    または

    pg_dump -C dbname | ssh -C [email protected] "psql dbname"
    

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

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



    1. Rails 3 ActiveRecord:関連付けをカウントして並べ替え

    2. 行が存在しない場合のOracle挿入

    3. クエリを送信するときに何をエスケープする必要がありますか?

    4. SQLServerのAlwaysOn可用性グループのトラブルシューティング