使用java恢复PostgreSQL数据库[英] Restore PostgreSQL database using java

本文是小编为大家收集整理的关于使用java恢复PostgreSQL数据库的处理方法,想解了使用java恢复PostgreSQL数据库的问题怎么解决?使用java恢复PostgreSQL数据库问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我使用以下代码使用 java 恢复 PostgreSQL 数据库

 Runtime r = Runtime.getRuntime();
 Process p;
 String cmd ="D:/Program Files/PostgreSQL/9.1/bin/pg_restore.exe --host localhost --port 5432 --username postgres --dbname mytestqq --role postgres --no-password  --verbose D:\sathish\rawDatabase.backup";
 p = r.exec(cmd);

我在 rawDatabase.backup 文件中有 42 个表,但只有一个表正在恢复,为什么其余表没有发生我的代码有什么问题?提前谢谢!!!!

推荐答案

终于找到解决方案了

Runtime r = Runtime.getRuntime();
Process p;
ProcessBuilder pb;
r = Runtime.getRuntime();
pb = new ProcessBuilder( 
    "D:\\Program Files\\PostgreSQL\\9.1\\bin\\pg_restore.exe",
    "--host=localhost",
    "--port=5432",
    "--username=postgres",
    "--dbname=mytestqq",
    "--role=postgres",
    "--no-password",
    "--verbose",
   "D:\\sathish\\rawDatabase.backup");
pb.redirectErrorStream(true);
p = pb.start();
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String ll;
while ((ll = br.readLine()) != null) {
 System.out.println(ll);
}                    

本文地址:https://www.itbaoku.cn/post/1764159.html