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:

  • Utilizar el comando pg_dump para exportar una base de datos PostgreSQL (algo así como el mysqldump de MySQL)
  • Ejecutar un comando desde Java (algo así como el system de C)
  • Setear variables en el entorno actual de ejecución

El código habla por si solo:

try {
        String path = "path del archivo de backup"
        Runtime r = Runtime.getRuntime();

        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