我发现我的posgresql数据库服务器在通过pgadmin远程连接时没有要求用户postgres的密码.我的意思是当我通过pgAdmin从本地计算机连接到远程数据库服务器时.
原文链接:https://www.f2er.com/postgresql/191997.html我确实在psql中添加了密码,ALTER USER postgres PASSWORD’mypassword’.
这是我的pg_hba.config文件:
/usr/local/pgsql/bin/psql -qAt -c "show hba_file" | xargs grep -v -E '^[[:space:]]*#' local all all trust host all all 127.0.0.1/32 md5 host all all 0.0.0.0/0 md5 host all all ::1/128 md5
所以,我不太明白这里发生了什么.
有人能帮忙吗?
非常感谢.
更新:
如果我改变:
local all all trust
至
local all all md5
现在,将要求本地连接(通过SSH)输入密码(之前没有要求输入密码.)但是远程连接仍然会在没有密码的情况下连接.
实际上,我尝试通过来自另一台服务器的rails appliaction连接到这个数据库服务器,没有密码,并且rails服务器启动没有问题.
为了方便起见,在这里取得成果
这个问题的真正原因是.pgpass文件. Mac将密码本地存储在用户主文件夹下的.pgpass文件中.然后,每当用户尝试登录时没有密码,Postgresql将为用户发送密码.