Mientras realizaba una recorrida por los blogs que suelo frecuentar, me encontré con una publicación interesante de eOS's BLOG, donde desde un pequeño proceso en Java realiza un backup de Postgres.
Si bien el proceso es sencillo, del mismo podrás sacar algunas cosas interesante como:
El código habla por si solo:
String user = "postgres";
String dbase = "base_datos";
String password = "tu_contraseña";
Process p;
ProcessBuilder pb;
r = Runtime.getRuntime();
pb = new ProcessBuilder("pg_dump", "-v", "-D", "-f", path, "-U", user, dbase);
pb.environment().put("PGPASSWORD", password);
pb.redirectErrorStream(true);
p = pb.start();
} catch (Exception e) {
}
Via: eOS's BLOG
12 Respuestas para "Postgres backup desde Java"
muchas gracias por visitar mi blog, yo estuve googleando y de esa forma llegue hasta tu blog el cual me llamo mucho la atencion, especialmente por lo del look and feel de Nimbus.
Saludos
Esto tambien se puede aplicar para backups en los moviles, como respaldar la agenda en la memoria?
No @Frank, me temo que nada que ver.
Saludos, me parece muy bueno tu codigo y muy facil de entender, pero al copiarlo y compilarlo me surgio un poblemita con el ProcessBuilder, me gustaria saber que clase en especial tengo que imnportar para que funcione?, hasta luego gracias.
Hola, sabes como hacer el backup desde php, he probado con la funcion exec y system para ejecutar el pg_dump desde una pagina php, pero no me funciona, alguna sugerencia? gracias!
Hola !
Primero muy bueno el ejemplo, me sirvió de mucho. Quisiera preguntarles algo; hice el mismo ejemplo, con parámetros distintos, para restaurar la base de datos. EL tema es que a veces funciona bien, y a veces no. Cuando no me restaura bien no me tira ninguna una excepción … es decir me la oculta … hay algún modo qué desde Java pueda ver la execpción que me esta tirando ?,
Muchas gracias
Damián
Hello,
I’m co-author from Geed Inside Blog and I’m very content that you saw and referenced my blog post about backup on postgres. I’m a Java Developer too and it is good to know a different way to do it directly from Java code.
Very good post
hola, muy buena informacion me sirvio de mucho, pero tengo una duda ya que lo que necesito ademas de restaurar los datos es restaurar tambien los roles , todo desde mi progrma en java, he utilizado el pg_dumpall -g , y me crea el backp, pero no puedo restaurarlo y no entiendo por que!, para restaurarlo uso el pg_restore … alguien me puede ayudar ??
Silvia,
El pg_dumpall utiliza las funciones de texto plano del pg_dump. Lo cual hace que sea incompatible con el pg_restore que solo acepta el output generado por pg_dump en formato tar. Es lamentable que la documentacion al respecto no este en un lugar mas visible.
Gracias Roberto por tu colaboración.
Saludos.
Bueno gracias por el aporte, pero no crea nada.
No funciona alguna configuracion extra…?
Hola
Muchas gracias por tu aporte sin embargo no me funciona existe una funcion extra o una biblioteca he importado import java.lang.processBuilder por otro lado me sale error en el constructor
pb = new ProcessBuilder(“pg_dump”, “-v”, “-D”, “-f”, path, “-U”, user, dbase);
me gustaria saber si podrias guiarme mejor
Agradezco tu aporte y tu claboracion
Salu2
CarolJohana
Comentarios: