【发布时间】:2020-08-06 12:35:44
【问题描述】:
我尝试了 5 次以上使用简单密码进行身份验证。失败了,我然后重置密码并再次尝试:
owner@G700:~/cp/projFolder$ sudo -u postgres psql
psql (12.3 (Ubuntu 12.3-1.pgdg20.04+1))
Type "help" for help.
postgres=# alter user ctvmUser with password '1234';
ALTER ROLE
postgres=# \q
owner@G700:~/cp/projFolder$ psql -U ctvmUser -W -d callTrackVoipMs -a -f /home/owner/cp/projFolder/src/databaseScripts/createTables.sql;
Password:
psql: error: could not connect to server: FATAL: Peer authentication failed for user "ctvmUser"
在此尝试之后,我尝试复制/粘贴 1234,但仍然产生相同的错误。
我怀疑还有其他问题。还有什么可以阻止我使用 psql 进行身份验证?
我在 Lubuntu 20.04 上本地运行 PostgreSQL 12(并且预期的数据库交互是本地的)。
其他尝试
无 -W 标志
owner@G700:~/cp/projFolder$ psql -U ctvmUser -d callTrackVoipMs -a -f /home/owner/cp/projFolder/src/databaseScripts/createTables.sql;
psql: error: could not connect to server: FATAL: Peer authentication failed for user "ctvmUser"
更新 pg_hba.conf
PG::ConnectionBad: FATAL: Peer authentication failed for user 'username' error
未找到local all all local 行:
# 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 peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
使用 localhost 参数添加 -h 标志
首先我将这一行添加到文件pg_hba.conf的最末尾
host all all 127.0.0.1/32 md5
-h 标志localhost,并输出:
owner@G700:~/cp/voip_call_track_backend$ psql -U ctvmUser -d callTrackVoipMs -a -f /home/owner/cp/voip_call_track_backend/src/databaseScripts/createTables.sql -h localhost;
Password for user ctvmUser:
psql: error: could not connect to server: FATAL: password authentication failed for user "ctvmUser"
FATAL: password authentication failed for user "ctvmUser"
【问题讨论】:
标签: postgresql psql