2

Java アプリケーションで、PostgreSQL データベースをダンプ/復元するオプションを実装したいと考えています。Google の調査によると、Java の ProcessBuilder を介して pg_dump/pg_restore を呼び出すことが、おそらくこれを達成するための最良の方法であることがわかりました。

ここで、ユーザーに手動で指定するように求めることなく、システムの pg_dump.exe/pg_restore.exe のディレクトリを特定したいと思います。Java を介して PostgreSQL のインストール パスを見つけるにはどうすればよいですか?

よろしくお願いします。

マティアス

4

3 に答える 3

1

単純に呼び出される環境変数を定義し、それを取得するためにPG_HOME使用することをお勧めします。System.getEnv("PG_HOME");

于 2011-07-25T10:53:30.967 に答える
1

ポータブルにはできません。デフォルトではパスなしでプログラムを呼び出し、ユーザーが適切なパスを設定したことに依存し、ユーザーがパスを明示的に構成する方法を用意することをお勧めします。デフォルト構成の可能性のあるディレクトリを調べることもできます。しかし、特に Windows、Linux、および Mac のすべてをカバーしたい場合は、一般的に非常に壊れやすいでしょう。

于 2011-07-25T11:30:50.763 に答える
0
  1. 最初にデフォルトのディレクトリ内を調べます (おそらくどこかC:\Program Files (x86)\PostgreSQL\...)。可能な限り許容できるように、さまざまな組み合わせを使用してください。

  2. 失敗した場合は、ファイル システムを検索します。ここに良い例があります。

  3. JDBC 経由で Postgresql-DB からバックアップを行う方法も参照してください。

于 2011-07-25T10:40:54.850 に答える