1. ホーム
  2. postgresql

[解決済み] ポート 5432 がブロックされているときにリモートサーバから pg_dump postgres データベース

2023-05-22 21:54:58

質問

DMZ にあるリモートサーバー上の SQL データベースを pg_dump しようとしています。2 つの問題があります。

  1. リモート サーバーにあまり多くの容量が残っていないため、データベースをローカルにバックアップするために実行する通常のコマンドは pg_dump -C database > sqldatabase.sql.bak はスペースの問題で動作しません。

  2. また、リモートサーバからローカルサーバにデータベースをダンプするための pg_dump コマンドの他のバージョンを使用して実行することができません。

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

サーバーが私たちの DMZ にあり、ポート 5432 がブロックされているためです。私が見たいのは、データベースをpg_dumpして、即座に(sshまたは他の何らかの形式で)リモートサーバーにファイルとして保存することが可能かどうかということです。 私が試していたのは pg_dump -C testdb | ssh [email protected] | > /home/admin/testdb.sql.bak

私が達成しようとしていることが可能であるかどうか、誰か知っていますか?

どのように解決するのですか?

リモートサーバにsshで接続し、pg_dumpの呼び出しを行い、その出力をローカルマシンの標準出力に送り返せばよいのです。

ssh user@remote_machine "pg_dump -U dbuser -h localhost -C --column-inserts" \
 > backup_file_on_your_local_machine.sql