如果我将PGPASSFILE设置为像/home/user/.pgpass这样的显式路径,那么它可以正常工作,并且当作为拥有该文件的用户登录时,我可以对psql中的条目使用.pgpass.conf
我的问题是我需要有多个帐户使用psql。如果我将PGPASSFILE更改为类似于~/.pgpass.conf的用户目录,那么它将不工作,也不会读取文件,因此会出现密码错误。
因为我只能指定一个文件,这意味着只有该文件的所有者才能运行我需要运行的命令。
我在Ubuntu 18.04上运行,需要根和www数据才能有一个.pgpass.conf文件。
我该怎么做?

最佳答案

如果系统用户与数据库用户相对应(在您的情况下,rootwww-data),则每个用户在其各自的主目录中都有自己的、独立的.pgpass文件。分别设置。
根本不设置PGPASSFILEThe manual:
PGPASSFILE的行为与passfile连接参数相同。
And:
passfile
指定用于存储密码的文件名(请参见Section 33.15)。默认为~/.pgpass,或
%APPDATA%\postgresql\pgpass.conf在Microsoft Windows上。(没有错误
报告此文件是否不存在。
相关:
Run batch file with psql command without password

关于postgresql - .pgpass文件可用于多个用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52381567/

10-14 00:59