如果我将PGPASSFILE
设置为像/home/user/.pgpass
这样的显式路径,则它可以正常工作,当以拥有该文件的用户身份登录时,我可以使用psql
来输入{{ 1}}。
我的问题是我需要使用psql拥有多个帐户。如果我将.pgpass.conf
更改为PGPASSFILE
之类的用户目录,则它将无法正常工作并且不会读取文件,因此会出现密码错误。
因为我只能指定一个文件,这意味着只有该文件的所有者可以运行我需要运行的命令。
我正在Ubuntu 18.04上运行,我需要root和www-data才能拥有~/.pgpass.conf
文件。
我该怎么做?
答案 0 :(得分:0)
如果您有与 db 用户相对应的 system 用户(在您的情况下为root
和www-data
),则每个用户都有各自独立的.pgpass
文件位于其各自的主目录中。相应地进行设置。
只需不设置PGPASSFILE
即可。 The manual:
PGPASSFILE
的行为与passfile连接参数相同。
passfile
指定用于存储密码的文件的名称(请参见Section 33.15)。默认为
~/.pgpass
,或者%APPDATA%\postgresql\pgpass.conf
在Microsoft Windows上。 (没有错误是 报告此文件是否不存在。)
相关: