[英]psql: FATAL: role “postgres” does not exist (with -h localhost option)
我在本地計算機上安裝了Postgres。
當我執行
psql -U postgres -d buzzsumo
它正確地要求我輸入用戶postgres的密碼。
但是,當我跑步時
psql -U postgres -d buzzsumo -h localhost
它給了我這個錯誤信息:
psql:致命錯誤:角色“ postgres”不存在
在第一個示例中,當我連接到本地服務器(相當於傳遞本地主機)時,為什么會這樣呢?
您沒有說,但我猜您正在MacOS或Linux上運行postgres。
第一種形式(不帶-h)通過“ unix套接字”連接。 第二種形式帶有“ -h localhost”,它通過TCP / IP連接到localhost(IP地址127.0.0.1)。
Postgres對這兩種類型的連接有不同的對待-或至少可以做到。 如果您檢查“ pgsql / data / pg_hba.conf”文件以查看為兩種類型的連接配置了哪種身份驗證機制。
您的第一個示例通過Unix套接字連接,第二個示例通過TCP / IP本地循環(localhost)連接。
對於第一個示例,您需要pg_hba.conf
local
連接類型,因為第二行以host
開頭是相關的。 您可能為這些連接類別定義了不同的身份驗證方法 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.