當我嘗試psql使用此命令打開時:
psql -U postgres
我收到此錯誤:
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: Peer authentication failed for user "postgres"
但是當我使用時它連接成功:
sudo -u postgres psql
有人可以解釋發生了什么以及如何診斷/解決這個問題嗎?我的pg_hba.conf包含以下內容:
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
uj5u.com熱心網友回復:
對等認證意味著只有資料庫用戶名與作業系統用戶名相同時才允許連接。
因此,如果您psql -U postgres以作業系統用戶root或身份運行jimmy,它將無法正常作業。
您可以指定一個映射作業系統用戶和資料庫用戶之間pg_ident.conf。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331673.html
標籤:PostgreSQL 乌本图
上一篇:持久化到PostgreSQL`timestampwithtimezone`時,如何防止Hibernate將ZonedDateTime轉換為UTC
