Backup com postgre

2 respostas
reshpu

bons dias
o backup funciona e tal mas o meu maior porblema e o seguinte:

code:
Process p = r.exec(" “C:\Programas\PostgreSQL\8.2\bin\pg_dump.exe” -U postgres -b -Fc -i teste -f "+caminho+a+b);

este programa vai buscar apenas a tabela teste… ja pos uma vareavel a tomar o valor onde em vez de teste ponho “+a” mas passa a dar erro no “-f”…
o meu maior problema e que a db tem de ser daqdo pelo utilzador e nao consigo por a variavel direito la…

Fiquem Bem

2 Respostas

T

Se o “caminho” for um nome de arquivo contendo espaços, veja se é possível passar aspas no comando.

Process p = r.exec(" \"C:\Programas\PostgreSQL\8.2\bin\pg_dump.exe\" -U postgres -b -Fc -i teste -f "+ "\"" + caminho+a+b + "\"");

A propósito, que raio de nome de variável é “a” e “b”? Não tenha preguiça de usar nomes mais elucidativos :stuck_out_tongue:

otaviofcs

reshpu:
code:
Process p = r.exec(" “C:\Programas\PostgreSQL\8.2\bin\pg_dump.exe” -U postgres -b -Fc -i teste -f "+caminho+a+b);

Tem alguma coisa errada nesse dump e por isso a reclamação. O que o pg_dump não está entendendo é essa variável teste solta aí no seu sistema. Vamos ao man do pg_dump:

[list] -t table

--table=table
          Dump data for table only. It is possible for there to be  multi‐
          ple  tables  with the same name in different schemas; if that is
          the case, all matching  tables  will  be  dumped.  Specify  both
          --schema and --table to select just one table.

[/list]

Se você quer só uma tabela a estrutura é, no seu caso:

pg_dump -U postgres -d BANCO_A_SER_DUMPEADO -t TABELA_A_SER_DUMPEADA -f CAMINHO_DO_ARQUIVO

você pode omitir o -d se o seu banco de dados se chamar postgres (meio ruim isso, né?) ou se não tiver num banco de dados (só num schema, esse conceito é um pouco diferente, mas é igual o do oracle).

-Fc é para você colocar num formato mais rápido de retorno usando o  pg_restore;

-b não sei que raio é isso

-i é um ignore version do banco de dados (seu servidor  tão bagunçado assim? Ou você vai distribuir um pg_dump junto com sua aplicação?)

verifique sua sintaxe, abraços e boa sorte

Criado 29 de janeiro de 2007
Ultima resposta 29 de jan. de 2007
Respostas 2
Participantes 3