I didn't receive a copy of my post from yesterday so I'm having to write this as if it were a new post rather than a follow-up (keeping same subject line).
FYI: I overcame the problem of pgAgent not reading .pgpass by eliminating the host address from the arguments, thus: DAEMON_ARGS="-l 1 -s /var/log/postgresql/pgagent.log port=6543 dbname=postgres user=postgres" Why did this work? I'm not sure. It would be helpful if someone more knowledgeable could chime in and correct my discovery that, apparently, .pgpass works only in a UNIX socket context. Surely that is wrong, but when I deleted the host address argument pgAgent could use .pgpass via login by UNIX sockets, with the following line set in pg_hba.conf: local all postgres ident I tested this by commenting out this line and restarting postgresql and pgagent, whose log then recorded: WARNING: Couldn't create connection: FATAL: no pg_hba.conf entry for host "[local]", user "postgres", database "postgres", SSL off WARNING: Couldn't create connection: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.6543"? But as to why .pgpass was not read by pgAgent when I first tried to use an IPv4 host address I don't know. Many will ask why I wasn't using 127.0.0.1 and it's because this configuration is on a virtual server where localhost and 127.0.0.1 are not available, leaving only the assigned IP address. And... pgAgent doesn't see the .pgpass file when I used that option. Can anybody shed more light on this discovery? BTW I also deleted the pidfile option from the Debian init script, but if anyone has a more expert Debian init script for pgAgent than my woeful example, please post it. Thanks.