Tom Lane wrote:
Like, perhaps, the owner of the PostgreSQL server process having no permission to write into /path/to/output/file?"Satoru Fukushima" <satoruf@xxxxxxxxx> 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. Cheers, Steve |