デプロイサーバー(データベースサーバーではない)からデータベース移行を実行する前後に、本番データベースをバックアップしたいのですが、CentOS5マシンにPostgresql8.4サーバーがあります。データベースにアクセスするWebサイトは、MVC.Netアプリケーションを実行しているWindows 2008サーバー上にあり、ソースコードの変更をチェックアウトし、プロジェクトをコンパイルし、DBの変更を実行してから、IISに展開します。
毎日のバックアップ用にcrontabジョブバックアップを実行するようにDBサーバーを設定していますが、デプロイプロセス中にデプロイサーバーからバックアップを呼び出す方法も必要です。私が理解できることから、データベースにクライアント接続からそれ自体をバックアップするように指示する方法はありません。デプロイスクリプトの一部としてWebサーバーからpg_dumpを呼び出すと、Webサーバー上にバックアップが作成されます(望ましくありません)。COPYコマンドを見てきましたが、おそらく私が望むものが得られないでしょう。MS SQLServerを使用すると、データベースマシンにバックアップを配置するDB接続内からBACKUPコマンドを呼び出すことができます。
MySQLに関するこの投稿を見つけましたが、MySQLでサポートされている機能ではありません。Postgresは同じですか? MySQLデータベースのリモートバックアップ
これを達成するための最良の方法は何でしょうか?DBサーバーへのSSH接続を確立してからpg_dumpを呼び出す小さなアプリケーションを作成することを考えましたか?これは、SSH接続情報をサーバーに保存していることを意味しますが、可能であれば、実際には保存しません。