.pgpass文件可用于多个用户

时间:2018-09-18 07:52:43

标签: postgresql passwords connection postgresql-10

如果我将PGPASSFILE设置为像/home/user/.pgpass这样的显式路径,则它可以正常工作,当以拥有该文件的用户身份登录时,我可以使用psql来输入{{ 1}}。

我的问题是我需要使用psql拥有多个帐户。如果我将.pgpass.conf更改为PGPASSFILE之类的用户目录,则它将无法正常工作并且不会读取文件,因此会出现密码错误。

因为我只能指定一个文件,这意味着只有该文件的所有者可以运行我需要运行的命令。

我正在Ubuntu 18.04上运行,我需要root和www-data才能拥有~/.pgpass.conf文件。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果您有与 db 用户相对应的 system 用户(在您的情况下为rootwww-data),则每个用户都有各自独立的.pgpass文件位于其各自的主目录中。相应地进行设置。

只需设置PGPASSFILE即可。 The manual:

  

PGPASSFILE的行为与passfile连接参数相同。

And:

  

passfile

     

指定用于存储密码的文件的名称(请参见Section 33.15)。默认为~/.pgpass,或者   %APPDATA%\postgresql\pgpass.conf在Microsoft Windows上。 (没有错误是   报告此文件是否不存在。)

相关: