Java PostgresSQL backup e restore?

Alguém poderia me disponibilizar, ou me ajudar a fazer backup e restore em Java, a interface eu penso desta maneira como a imagem logo abaixo.

Eu vi alguns exemplos na internet, mas se tratava de MySQL e não PostgresSQL.

###Alguém pode me dar uma força?

1 curtida

Começou a construir seu código disso? começa por ai.

Segue alguns itens que você precisa estudar:


Runtime.getRuntime().exec("comando");
2 curtidas

Então eu comecei sim, segue meu código abaixo. Só gostaria de ter a opção de escolher o local onde será gravado o arquivo de backup em vez de setar em uma String.

public class PostgresBackup {
public static void realizaBackup() throws IOException, InterruptedException{
final List comandos = new ArrayList();
//comandos.add(“C:\Program Files (x86)\PostgreSQL\8.4\bin\pg_dump.exe”);
//comandos.add(“C:\Program Files\PostgresPlus\8.4SS\bin\pg_dump.exe”);
comandos.add(“C:\Program Files\PostgreSQL\9.4\bin\pg_dump.exe”); // esse é meu caminho
comandos.add("-i");
comandos.add("-h");
comandos.add(“localhost”); //ou comandos.add(“192.168.0.1”);
comandos.add("-p");
comandos.add(“5432”);
comandos.add("-U");
comandos.add(“postgres”);
comandos.add("-F");
comandos.add(“c”);
comandos.add("-b");
comandos.add("-v");
comandos.add("-f");
comandos.add(“C:\Users\LEANDRO-PC\Desktop\BACKUP_AUTOBRILHO\autobrilho.backup”); // eu utilizei meu C:\ e D:\ para os testes e gravei o backup com sucesso.
comandos.add(“autobrilho”);
ProcessBuilder pb = new ProcessBuilder(comandos);
pb.environment().put(“PGPASSWORD”, “933556”); //Somente coloque sua senha
try {
final Process process = pb.start();
final BufferedReader r = new BufferedReader(
new InputStreamReader(process.getErrorStream()));
String line = r.readLine();
while (line != null) {
System.err.println(line);
line = r.readLine();
}
r.close();
process.waitFor();
process.destroy();
JOptionPane.showMessageDialog(null,“Backup realizado com sucesso.”);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException ie) {
ie.printStackTrace();
}
}
public static void main(String[] args) {
try {
PostgresBackup.realizaBackup();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

Use um JFileChooser:
https://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html

1 curtida

consegui realizar o backup Rodrigo, obrigado pelas dicas.