On 31 out, 06:56, joao.mc.ferre...@xxxxxxxxxxxxxxxxxxxx (Joao Miguel Ferreira) wrote: > Hello all, > > I got surprised by this message: > > ------------------------------------- > The program "pg_dump" is needed by pg_dumpall but was not found in the > same directory as "/usr/bin/pg_dumpall". > Check your installation. > -------------------------------------- > > It's quite strange because I'm quite the pg_* binaries are well > installed: > > ---------------------------------------- > $ ls -la /usr/bin/ | grep pg_ > -rwxr-xr-x 1 admin root 16632 Oct 16 17:39 pg_config > -rwxr-xr-x 1 admin root 16636 Oct 16 17:39 pg_controldata > -rwxr-xr-x 1 admin root 24880 Oct 16 17:39 pg_ctl > -rwxr-xr-x 1 admin root 187996 Oct 16 17:39 pg_dump > -rwxr-xr-x 1 admin root 43444 Oct 16 17:39 pg_dumpall > -rwxr-xr-x 1 admin root 23020 Oct 16 17:39 pg_resetxlog > -rwxr-xr-x 1 admin root 84460 Oct 16 17:39 pg_restore > $ > ---------------------------------------- > > This is what I do: > > system("su postgres -c \"pg_dumpall --clean > some_file\""); > > this is run from within a Perl module called from within a Perl script. > > I've tried the same command directlly on the shell and it works fine. > But from the perl script it complaints about pg_dump !!!??? > > I've even tested both commands directlly on the cmd line and they work > properlly ! > > any ideas ? > > thx > joao > > ---------------------------(end of broadcast)--------------------------- > TIP 2: Don't 'kill -9' the postmaster Did you try to create a simple batch file and call it with sh? pgdumpall.sh: su -c "pg_dumpall --clean > some_file" postgres And inside your code: system("sh pgdumpall.sh"); ... it's one idea... I had some problemas on other OS like windows, when I need to create a batch to call some executables that aren't at the same path of my application. ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings