Pgagent is not reading pgpass file either in Windows or Linux.

From: nageswara Bandla <nag(dot)bandla(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Pgagent is not reading pgpass file either in Windows or Linux.
Date: 2018-05-29 19:14:21
Message-ID: CADJadRDCoHALsJQv8ySQiO2QdgWnfqVL+iX-v72QxA6pFtgYtg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

The intention of this post is to find out ways to run pgagent without
passing password in its connection string.

*Windows:*

I have installed pgagent on windows and configured to run under Local
System account.

Command:-

C:\PostgreSQL\bigsql\pgagent\bin\pgagent.exe INSTALL pgagent -l 2 -u
LocalSystem hostaddr=127.0.0.1 dbname=postgresdb user=postgres

I have logged into my windows account; where my profile has pgpass.conf in
%APPDATA%/postgresql/pgpass.conf file.

127.0.0.1:5432:*:postgres:postgres1

Pgagent is not started and throws error –“The pgagent service on Local
Computer started and then stopped. Some services stop automatically if they
are not in use by other services or programs”.

Eventvwr log messages have these error messages - “Couldn't create the
primary connection (attempt 10): fe_sendauth: no password supplied”

*PGPASSFILE env variable:*

As per the link- (
https://www.postgresql.org/docs/9.6/static/libpq-pgpass.html) I set
PGPASSFILE environment variable to point to pgpass.conf location. Even
then, it’s throwing same above error message. I have found out that pgagent
is not reading pgpass.conf file when configured under LocalSystem account.

When I change the properties of the pgagent service to run under my login
user account. Then, it’s reading pgpass.conf file under
%APPDATA%/postgresql/pgpass.conf.

I am clueless, why pgagent is not honoring PGPASSFILE env variable.

*Linux:*

In Linux, I have installed pgagent_96 using yum command. And tried to run
pgagent using command /etc/init.d/pgagent_96 from postgres user account.

It fails with error message – “WARNING: Couldn't create the primary
connection (attempt 2): fe_sendauth: no password supplied”

I made sure that I have .pgpass configuration file with 0600 permissions in
postgres user home directory.

I have tried by defining PGPASSFILE env variable in postgres user account.
But it’s not working.

Pgagent is starting only when we pass password in it’s connection string.
But which is not a good practice at all.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2018-05-29 20:32:46 Re: Pgagent is not reading pgpass file either in Windows or Linux.
Previous Message Andres Freund 2018-05-29 18:13:15 Re: found xmin from before relfrozenxid on pg_catalog.pg_authid