0
$ psql --password --username=postgres template1
Password for user postgres:
psql (9.4.7)
Type "help" for help.
template1=#
無論我輸入什麼密碼,我都可以登錄。我如何要求postgres登錄才能要求輸入密碼
$ psql --password --username=postgres template1
Password for user postgres:
psql (9.4.7)
Type "help" for help.
template1=#
無論我輸入什麼密碼,我都可以登錄。我如何要求postgres登錄才能要求輸入密碼
可能會出現一些不同的情況,並且很難知道哪些情況不知道您的配置。
具體而言,您應該查看該數據庫的pg_hba.conf文件。最有可能的情況是,你有一條線,看起來像:
local all postgres trust
該行將允許:任何人誰擁有服務器(local
)命令行訪問登錄到任何數據庫(all
)作爲postgres用戶(postgres
)沒有密碼驗證(trust
)。
如果你有這樣一行,那就是你的問題。您可以將trust
更改爲md5
(或其他內容 - 有關更多選項,請參見this documentation page),並且將開始爲本地數據庫訪問實施密碼。
如果你沒有看到這樣的一條線,還有其他事情正在發生。