使用Fabric时无法访问PostgreSQL密码

时间:2018-10-25 20:05:12

标签: postgresql fabric

如果我以“ joe”用户身份登录服务器,请在服务器上运行以下命令:

dropdb --no-password --if-exists --user=someuser --host=someip somedb

它运行良好,因为我已经为/home/joe/.pgpass填充了用于连接到someip的某些用户的适当凭据。

但是,在使用Fabric时,我发现一些奇怪的行为。即使我已将其配置为使用“ joe”作为用户,当它尝试运行相同的命令时,也会产生错误:

dropdb: could not connect to database template1: fe_sendauth: no password supplied

这是为什么?我能想到的唯一原因是结构/ SSH连接没有对~/.pgpass的许可,但是我已经仔细检查了用户是否正确以及~/.pgpass中是否存在正确的值。

编辑:我意识到我正在运行sudo(cmd, user='postgres')之类的Fabric的sudo,我想这可能是原因的一部分。但是,我检查了$HOME的值,它仍然是/home/joe,因此它仍然应该能够看到/home/joe/.pgpass。为什么postgres用户不能访问它?

0 个答案:

没有答案