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 (pgadmin-support@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-support

Reply via email to