.pgpass文件适用于多个用户

问题描述 投票:1回答:1

如果我将PGPASSFILE设置为像/home/user/.pgpass这样的显式路径,那么它工作正常,当以拥有该文件的用户身份登录时,我可以使用psql作为.pgpass.conf中的条目。

我遇到的问题是我需要有多个帐户使用psql。如果我将PGPASSFILE更改为~/.pgpass.conf之类的用户目录,那么它不起作用并且不会读取文件,因此它会给出密码错误。

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

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

我该怎么做呢?

postgresql passwords connection postgresql-10
1个回答
0
投票

如果您的系统用户对应于您的数据库用户(在您的情况下为rootwww-data),则每个用户在其各自的主目录中都有自己独立的.pgpass文件。相应地设置每个。

根本就不要设置PGPASSFILEThe manual:

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

And:

passfile

指定用于存储密码的文件的名称(请参阅Section 33.15)。在Microsoft Windows上默认为~/.pgpass%APPDATA%\postgresql\pgpass.conf。 (如果此文件不存在,则不会报告错误。)

有关:

© www.soinside.com 2019 - 2024. All rights reserved.