簡體   English   中英

psql:致命錯誤:角色“ postgres”不存在(使用-h localhost選項)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM