我发现我的posgresql数据库服务器postgres
在通过pgadmin进行远程连接时没有要求用户输入密码.我的意思是当我通过pgAdmin从本地计算机连接到远程数据库服务器时.
我在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将为用户发送密码.
官方文件在这里
感谢所有的评论和答案ppl!
但这个问题的真正原因是.pgpass
文件.我的mac将密码本地存储.pgpass
在我的用户主文件夹下的文件中.然后每当我尝试登录时没有密码,PostgreSQL会为我发送密码.这就是我遇到的问题....
感谢所有的回复和评论!
有关详细信息,请参阅此处