如何使用Java进行PostgreSQL数据库备份

1 人关注

我想用java使用PostgreSQL数据库进行备份。 我试着用下面的代码,但我得到的是。

错误pg_dump:命令行参数太多(第一个是 "postgres") 尝试 "pg_dump --help "获取更多信息。

Runtime r = Runtime.getRuntime();
Process p;
ProcessBuilder pb;
r = Runtime.getRuntime();
pb = new ProcessBuilder( 
        "/usr/pgsql-9.3/bin/pg_dump",
        "--host", "localhost",
        "--port", "5432",
        "--username", "postgres",
        "--dbname", "postfixdb",
        "--role", "postgres",
        "--password"," postgres",
        "--verbose",
       "/usr/pg_dump.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); } 
    
java
linux
postgresql
user4383047
user4383047
发布于 2017-06-05
1 个回答
Laurenz Albe
Laurenz Albe
发布于 2017-06-05
已采纳
0 人赞同

Consult psql 文件 以了解调用语法和允许的选项列表。

首先尝试在命令行上运行它,只有当它成功后,才尝试从Java中运行它。

列表中的明显错误。