Tom Lane wrote:
"Satoru Fukushima" <[EMAIL PROTECTED]> writes:
can execute 'pg_dump', which produces an output file. However, when I
made it as a stored function in C, it didn't work. Within the stored
function, I used the exact same 'system' command. The other parts
within the function such as getting input values, calculating, and
returning outputs works and no error is produced. It looks that just
the system("pg_dump"); command is passed without outputting anything.

Are you making any effort at all to check for errors?  It's not apparent
from this code...

The simplest approach to debugging this might be to dump stderr into
some file, say

system("pg_dump -f /path/to/output/file database_name 2>/tmp/pgdumperrs");

and see what ends up in that file.
Like, perhaps, the owner of the PostgreSQL server process having no permission to write into /path/to/output/file?

Cheers,
Steve

Reply via email to