上午同事爆出這樣的問題,使用正確的用戶名和錯誤的密碼連接了postgresql數據庫,竟然連上了。這不是故意這樣神操作,不小心密碼寫錯了,咋一看這樣怎么能行,隨便輸入一個密碼都能登陸上。自己測試也是同樣的結果。仔細核實代碼的確是創建用戶名帶密碼了:
CREATE USER iu WITH PASSWORD 'password';
查了postgresql配置文件才發現,認證方式的確是沒有使用密碼,原始配置如下:

此配置文件路徑為:/var/lib/postgresql/data/pg_hba.conf
可見,使用的authentication method為“trust”,常見幾種認證方式說明如下:

找到問題所在,對症下葯即可。將第一張截圖中method更改為md5,再次命令行登陸,回車會提示輸入該用戶名對應的密碼,輸入錯誤認證失敗:

至此,疑問解開~
參考:博客
