Thread: BUG #17649: With libpg5 15.0 psql 10.22 uses HOME variable instead of uid and /etc/passwd to select .pgpass file
BUG #17649: With libpg5 15.0 psql 10.22 uses HOME variable instead of uid and /etc/passwd to select .pgpass file
From
PG Bug reporting form
Date:
The following bug has been logged on the website: Bug reference: 17649 Logged by: Reinhard Vicinus Email address: rvpostgres@metaways.de PostgreSQL version: 15.0 Operating system: Ubuntu 18.04 Description: This is probably the same issue that was reported in bug #17647 The general postgresql version we use is 10.22-1.pgdg18.04+1 With the update of libpg5 from 14.5-1.pgdg18.04+1 to 15.0-1.pgdg18.04+1 the behavior of psql changed and with libpg5 version 15.0 it uses the HOME environment variable to determine the location of the .pgpass file. With 14.5 the uid of the running process is used to determine the home directory location. This causes the issue that "sudo -u postgres psql" no longer finds the .pgpass file in /var/lib/postgresql/. After downgrading libpg5 to 14.5-1.pgdg18.04+1 or setting the correct HOME environment variable, it works again as intended.
Re: BUG #17649: With libpg5 15.0 psql 10.22 uses HOME variable instead of uid and /etc/passwd to select .pgpass file
From
Julien Rouhaud
Date:
Hi, On Tue, Oct 18, 2022 at 09:17:05AM +0000, PG Bug reporting form wrote: > The following bug has been logged on the website: > > Bug reference: 17649 > Logged by: Reinhard Vicinus > Email address: rvpostgres@metaways.de > PostgreSQL version: 15.0 > Operating system: Ubuntu 18.04 > Description: > > This is probably the same issue that was reported in bug #17647 Indeed! > > The general postgresql version we use is 10.22-1.pgdg18.04+1 > > With the update of libpg5 from 14.5-1.pgdg18.04+1 to 15.0-1.pgdg18.04+1 the > behavior of psql changed and with libpg5 version 15.0 it uses the HOME > environment variable to determine the location of the .pgpass file. With > 14.5 the uid of the running process is used to determine the home directory > location. This causes the issue that "sudo -u postgres psql" no longer finds > the .pgpass file in /var/lib/postgresql/. After downgrading libpg5 to > 14.5-1.pgdg18.04+1 or setting the correct HOME environment variable, it > works again as intended. > As I just answered on the other bug, this is a wanted and documented change, you can refer at https://www.postgresql.org/message-id/flat/1634252654444.90107%40mit.edu for the discussion about it. You can use "sudo -iu" to behave the way you want.