我知道.pgpass
文件应该可以处理此文件中定义的用户的登录过程。我无法绕过不同机器上发生的以下情况。关于“机器”,我应该更加清楚。有三个用户登录到服务器,并且以下所有命令均在该服务器上运行。
用户1:.pgpass
包含一行:host:port:db:user:pass
。如果我想执行例如$ psql db -U user
我需要提供文件中列出的密码。
用户2:.pgpass
为空,无需提供密码($ psql db -U user
后没有密码提示)。
我的假设是,只要在.pgpass
中定义了密码,就会弹出密码提示,并且您必须提供密码。但是,在用户3上,有一个.pgpass
文件与用户1上的文件相同,但是没有出现密码提示。怎么解释呢?