Обсуждение: Postgres backup
guys,
i have a java web app with a postgres backend. now i want to implement
a db database functionality from within my web app. now i have got
this so far,
String[] args = {"\"C:\\Program
Files\\PostgreSQL\\8.1\\bin\\pg_dump\"", " -i", " -h", " localhost", "
-p", " 5432", " -U", " postgres", " -F", " t", " -b", " -v", " -f", "
\"C:\\Test.backup\"", " TESTDB"};
String result = "";
if (args.length > 0) {
result = args[0]; // start with the first element
for (int i=1; i<args.length; i++) {
result = result + args[i];
}
}
Process p = Runtime.getRuntime().exec(result);
Now on executing this i am getting a file called Test.backup, but its
0KB compeletely empty. can somebody tell me what i am doing wrong and
how can i fix it. somebody also told me that this is not the best way
of doing this, and i was wondering is there a better way of
implementhing this.
Thanks.
On Sun, Oct 01, 2006 at 09:20:12PM -0700, pd wrote:
> guys,
>
> i have a java web app with a postgres backend. now i want to implement
> a db database functionality from within my web app. now i have got
> this so far,
>
> String[] args = {"\"C:\\Program
> Files\\PostgreSQL\\8.1\\bin\\pg_dump\"", " -i", " -h", " localhost", "
> -p", " 5432", " -U", " postgres", " -F", " t", " -b", " -v", " -f", "
> \"C:\\Test.backup\"", " TESTDB"};
Do you really have space in those strings? Because that's not going to
work.
Secondly, work out where your STDERR is going, because any error
messages from pg_dump will have gone there...
Have a nice day,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.
Вложения
On 10/3/06, Martijn van Oosterhout <kleptog@svana.org> wrote:
> On Sun, Oct 01, 2006 at 09:20:12PM -0700, pd wrote:
> > guys,
> >
> > i have a java web app with a postgres backend. now i want to implement
> > a db database functionality from within my web app. now i have got
> > this so far,
> >
> > String[] args = {"\"C:\\Program
> > Files\\PostgreSQL\\8.1\\bin\\pg_dump\"", " -i", " -h", " localhost", "
> > -p", " 5432", " -U", " postgres", " -F", " t", " -b", " -v", " -f", "
> > \"C:\\Test.backup\"", " TESTDB"};
>
> Secondly, work out where your STDERR is going, because any error
> messages from pg_dump will have gone there...
For some useful info on draining STDERR (and seeing error codes etc)
from with java see
http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html
-Damian