Как найти папку установки PostgreSQL через Java без взаимодействия с пользователем? - PullRequest
2 голосов
/ 25 июля 2011

В моем Java-приложении я хочу реализовать опцию создания / восстановления базы данных PostgreSQL. Некоторые исследования Google показали, что вызов pg_dump / pg_restore через Java ProcessBuilder, вероятно, является лучшим способом для достижения этой цели.

Теперь я бы хотел определить системный каталог pg_dump.exe / pg_restore.exe без , попросив пользователя указать его вручную. Как найти путь установки PostgreSQL через Java?

Спасибо заранее и всего наилучшего,

Matthias

Ответы [ 3 ]

1 голос
/ 25 июля 2011

Хорошей идеей будет просто определить переменную среды с именем PG_HOME и использовать System.getEnv("PG_HOME"); для ее получения.

1 голос
/ 25 июля 2011

Вы не можете сделать это переносимо.Я предлагаю, чтобы вы просто вызывали программы без пути по умолчанию и полагались на то, что пользователь установил соответствующий путь, и у вас есть способ для пользователя настроить пути явно.Вы также можете посмотреть в некоторых вероятных каталогах конфигурацию по умолчанию.Но это будет довольно хрупко в целом, особенно если вы хотите охватить все Windows, Linux и Mac, скажем.

0 голосов
/ 25 июля 2011
  1. Сначала загляните в каталоги по умолчанию (возможно, где-то C:\Program Files (x86)\PostgreSQL\...).Используйте различные комбинации, чтобы быть как можно более терпимыми.

  2. В случае неудачи просто выполните поиск в файловой системе.Хороший пример здесь .

  3. Также см. Как сделать резервную копию из Postgresql-DB через JDBC?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...