public void realizaBackup() throws IOException {
Runtime r = Runtime.getRuntime();
try {
Process p = r.exec("\"C:\\Arquivos de programas\\PostgreSQL\\8.3\\bin\\pg_dump.exe\" -i -h localhost -p 5432 -U postgres -F c -b -v -f \"C:\\backup3\\teste.backup\" superAdmin");
if (p != null) {
OutputStream outputStream = p.getOutputStream();
outputStream.write("senha\r\n".getBytes());
outputStream.flush();
outputStream.close();
InputStreamReader streamReader = new InputStreamReader(p.getErrorStream());
BufferedReader reader = new BufferedReader(streamReader);
String linha;
while ((linha = reader.readLine()) != null) {
System.out.println(linha);
}
}
JOptionPane.showMessageDialog(null, "Backup realizado com sucesso!", "Aviso", JOptionPane.INFORMATION_MESSAGE);
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, "Erro ao tentar realizar o backup!\n"+ex.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE);
}
public static void main(String args[]) throws IOException{
Backup b = new Backup();
b.realizaBackup();
}
Backup postgreSQL por meio de código java [RESOLVIDO]
10 Respostas
Cara, tive dor de cabeça com isso…
Você vai ter que criar um bat com o comando e a senha do postgresql e chamar o bat no java.
Cara, tive dor de cabeça com isso…
Você vai ter que criar um bat com o comando e a senha do postgresql e chamar o bat no java.
E como eu faria isso?
Valeu pela força!
Crie um arquivo no notepad e coloque a linha de comando do pg_dump. Na outra linha, sua senha. Salve com a extensão .bat . Lá na sua aplicação java. no comando Runtime.exec chame esse arquivo .bat.
Espero ter ajudado
Crie um arquivo no notepad e coloque a linha de comando do pg_dump. Na outra linha, sua senha. Salve com a extensão .bat . Lá na sua aplicação java. no comando Runtime.exec chame esse arquivo .bat.Espero ter ajudado
Coloquei conforme vc falou, mas acontece um erro:
Código do arquivo .bat
C:\Arquivos de programas\PostgreSQL\8.3\bin\pg_dump.exe -h localhost -p 5432 -U postgres -F p -a -v -f "D:\backup Postgresql\superAdmin\backup_teste 18_05_2010.backup" "superAdmin"
sefaz##2009
Erro
[color=red]A sintaxe do nome do arquivo, pasta ou nome do volume est� incorreta.
’‘sefaz##2009’’ n�o � reconhecido como um comando interno
ou externo, um programa oper�vel ou um arquivo em lotes.
[/color]
Alguém tem o script de backup do PostgreSQL em java?
Faz o seguinte:
Na primeira linha coloque assim:
SET PGPASSWORD=Sua Senha
Na outra linha:
comando do pg_dump
Ja tentou executar este comando no dos ? deu erro ou não
luiz.portnoy, tentei o que vc me falou, mas não deu certo!
labavel, este comando é o mesmo gerado pelo postgreSQL, quando eu faço backup pela ferramenta visual, então na teoria era para funcionar!
T+
Cara, dá uma olhadinha nesse post, foi nele que eu me baseei:
Cara, dá uma olhadinha nesse post, foi nele que eu me baseei: http://www.guj.com.br/posts/list/82388.java[editando.... Ficou assim o meu arquivo .bat
set PGUSER=usuario
set PGPASSWORD=minhasenha
for /f "tokens=1,2,3,4 delims=/ " %%a in ('DATE /T') do set Date=%%b-%%c-%%d
C:\Arquiv~1\Postgr~1\8.3\bin\pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -o -v -f "D:\backup Postgresql\superAdmin\superAdminBackup%Date%.backup" superAdmin
Blz Luiz, funcionou perfeitamente!!!
Obrigado a todos pela ajuda!
T+