On Dec 20, 2011, at 6:00 PM, David E. Wheeler wrote:
>> Oh, OK. We use popen() to execute the task on *nix, and that only
>> reads STDOUT, so you should handle redirection in your script. I did
>> spend some time look at this a few years back as I recall, and didn't
>> find a fix I was happy with.
>
> So it will pick up the output to STDOUT? That’s fine, I think I can tweak the
> scripts to send STDERR to STDOUT.
Unfortunately, it does not seem to work. I have pgagent started like so:
pgagent -s /var/log/pgagent_91.log hostaddr=127.0.0.1 dbname=postgres
user=postgres
/var/log/pgagent_91.log does exist, and has nothing in it at all.
So I created this shell script:
#!/bin/bash
echo Hi there
perl -e 'die "WTF!"' || exit $? 2>&1
I set up a job to run it. The results were:
postgres=# select * from pgagent.pga_jobsteplog where jsljlgid = 46;
-[ RECORD 1 ]------------------------------
jslid | 45
jsljlgid | 46
jsljstid | 13
jslstatus | f
jslresult | -1
jslstart | 2012-01-02 10:59:32.606959-08
jslduration | 00:00:00.01009
jsloutput | Hi there
| WTF! at -e line 1.
|
Which is great. However, the /var/log/pgagent_91.log file is still empty.
Should I take that to mean that job output is not logged there, but only errors
from pgagent itself?
Thanks,
David
--
Sent via pgadmin-support mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-support