我正在尝试使用以下命令登录数据库:
psql -U user my_db
这是引发的错误:
psql:致命:用户“ user”的对等身份验证失败
我认为这与我的pg_hba.conf有关。我尝试了几件事,但无法正常工作。这是pg_hba.conf的相关部分
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local my_db user md5
local all all md5
# IPv4 local connections:
host my_db user 127.0.0.1/32 md5
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 ident
host replication all ::1/128 ident
我第一次做su - postgres
时也会遇到相同的错误
和尝试psql -U user
编辑:原来我修改了错误的pg_hba.conf。我已经解决了原来的问题,现在可以像这样登录:psql -U user my_db
。但是我的应用程序(在同一设备上运行)无法使用此pg_hba.conf访问数据库。检查日志,这是我的应用程序提出新请求时显示的行:
2019-12-10 16:18:51.144 +03 [29570] LOG: invalid length of startup packet