Thread: Documentation of .pgpass for Unix is incomplete

Documentation of .pgpass for Unix is incomplete

From
PG Doc comments form
Date:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/16/libpq-pgpass.html
Description:

The documentation of the .pgpass password file is incomplete in the Unix
case (https://www.postgresql.org/docs/16/libpq-pgpass.html):

It does not mention how the .pgpass File is actually found.  One would
assume it uses the getpwent() function to find the current users
homedirectory and locate the .pgpass file there, but this is not the case.
It only looks at the HOME environment variable.

If you change the user using setuid() and do not change HOME as well, the
file not be found.  Or assume you start a DB client as root by using su to
change the user id, things will not work:

# /bin/su -c "startx -- " - xpos

This starts X11 and changes to the user xpos, but it does only change the
user id, not $HOME.