keymon Use and respect the passfile connection parameter (#1129)
3d61320 Jul 7, 2023
Use and respect the passfile connection parameter (#1129)
* Use and respect the passfile connection parameter

The postgres documentation[1] regarding the password file, states
that:

password file to use can be specified using the connection parameter
passfile or the environment variable PGPASSFILE.

The current implementation of lib/pq only respects the environment
variable PGPASSFILE. This is not correct, but also limiting, as
the PGPASSFILE is global and we might want to use different files
for different clients in the same program.

Fixing that is easy, by just checking the parameter passfile first,
and if not, pull the value from PGPASSFILE.

This also moves the parsing of PGPASSFILE to `parseEnviron`.
Now the connection only checks the parameter passfile, that
is populated by `parseEnviron`.

[1] https://www.postgresql.org/docs/current/libpq-pgpass.html
3d61320