Java - Backup a postgresql

 
Vista:

Backup a postgresql

Publicado por Danilo Juvinao (278 intervenciones) el 07/07/2007 21:15:31
Estoy intentando hacer una copia de seguridad de una bd de postgresql desde mi aplicacion java y tengo el siguiente inconveniente:

Normalmente el pg_dump cuando se ejecuta pide la contraseña que no puede ser enviada en el comando. Eso lo soluciono colocando una variable de entorno que se llame PGPASSWORD con el valor de la contraseña. Cuando hago esto manualmente desde el cmd me funciona bien, pero al hacerlo desde java se me queda colgado esperando a que la operacion termine y me bloquea la aplicacion. El codigo es el siguiente:

CREO UNA VARIABLE DE ENTORNO LLAMADA PGPASSWORD=clave con

Runtime r = Runtime.getRuntime();
//Comando pg_dump sendo executado
String pg_dump = "pg_dump.exe -i -h localhost -p 5432 -U usuario -F c -b --disable-dollar-quoting -v " +
"-f \""+Ruta+"\\"+NombreArchivo+"\" integra";
Process p = r.exec(pg_dump);
p.waitFor();
System.out.println(p.exitValue());
p.destroy();

siempre se cuelga en p.waitFor() esperando a que termine pero nunca lo hace.

Si por favor alguien tiene un codigo de como hacer una copia de seguridad con pg_dump desde java y que funcione seria de gran ayuda.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder