在我的Java应用程序中,我想实现转储/恢复PostgreSQL数据库的选项。一些谷歌研究表明,通过Java的ProcessBuilder调用pg_dump / pg_restore可能是实现这一目标的最佳方法。
现在我想确定pg_dump.exe / pg_restore.exe 的系统目录,而要求用户手动指定它。如何通过Java找到PostgreSQL安装路径?
先谢谢你 一切顺利,
的Matthias
答案 0 :(得分:1)
一个好主意是简单地定义一个名为PG_HOME
的环境变量,并使用System.getEnv("PG_HOME");
来检索它。
答案 1 :(得分:1)
你无法轻易做到这一点。我建议您默认情况下只调用没有路径的程序,并依赖用户设置适当的路径,并让用户明确配置路径。您还可以在某些可能的目录中查找默认配置。但总的来说它会非常脆弱,特别是如果你想覆盖所有的Windows,Linux和Mac,比如说。
答案 2 :(得分:0)
首先查看默认目录(可能是某处C:\Program Files (x86)\PostgreSQL\...
)。使用不同的组合尽可能容忍。
如果失败,只需搜索文件系统。很好的例子here。