多个用户的 .pgpass 文件

.pgpass file for more than one user

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

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

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

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

我该怎么做?

如果您有 system 用户对应于您的 db 用户(rootwww-data ),每个在其各自的主目录中都有自己单独的 .pgpass 文件。相应地设置每个。

并且根本设置PGPASSFILEThe manual:

PGPASSFILE behaves the same as the passfile connection parameter.

And:

passfile

Specifies the name of the file used to store passwords (see Section 33.15). Defaults to ~/.pgpass, or %APPDATA%\postgresql\pgpass.conf on Microsoft Windows. (No error is reported if this file does not exist.)

相关:

  • Run batch file with psql command without password