Ниже приведен фрагмент кода, показывающий, как мое Java приложение экспортирует SQL (логические) дампы из базы данных PostgreSQL.
String cmd = "pg_dump --dbname=postgresql://postgres:****************:5432/" + database
+ " --no-owner --no-acl" + " --clean --if-exists -f sql/db-" + database + timestamp + ".sql";
Process proc;
try {
proc = Runtime.getRuntime().exec(cmd);
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null)
System.out.println(line);
int exitVal = proc.waitFor();
System.out.println("Process pg_dump exitValue: " + exitVal);
} catch (Throwable t) {
t.printStackTrace();
}
Я бы хотел экспортировать данные SQL используя PostgreSQL JDB C API, но я не могу найти подходящего метода в javado c библиотеки.
Есть ли способ экспортировать PostgreSQL дампов без использования Java Процессы?