psql 和 pgadmin4 连接失败
Connection failed with psql and pgadmin4
我使用 postgres 11,我只是尝试将我的一个用户连接到 psql 和 pgadmin4
我的pg_hba.conf文件
# "local" is for Unix domain socket connections only
local all all peer
host sito lcm_admin 127.0.0.1/32 md5
host sito sito_lcm 127.0.0.1/32 md5
我的 postgres 用户有密码。
我试过我的 posgres 用户 sito_lcm 和 lcm_admin 连接到 pgAdmin4,总是得到
Invalid username or password
我知道有很好的,因为它是我用来在 java 程序中连接到 posgres 数据库的那个
我试过 psql
su - postgres
typed my password
认证失败
尝试过我的一位数据库用户
psql -U lcm_admin sito
psql: FATAL: Peer authentication failed for user "lcm_admin"
编辑
根据 Daniel Vérité 的提示,我可以连接到 psql 但不能连接到 pgAdmin4
我第一次看到这个屏幕,我最后一次连接是在几个月前,不知道是否某些更新造成了这个问题
因为 pg_hba.conf
中的这条规则
host sito lcm_admin 127.0.0.1/32 md5
您可能希望以这种方式调用 psql:
psql -U lcm_admin -h 127.0.0.1 sito
然后它会要求输入密码而不是失败并显示“对等身份验证失败”。
请注意,pg_hba.conf 中的规则按其在文件中的顺序(从上到下)进行测试,并在第一个匹配的规则处停止。
关于与 pgAdmin4 的连接:
如 https://www.pgadmin.org/docs/pgadmin4/latest/getting_started.html 中所述,作为应用程序访问 pgAdmin4 本身还有一个额外的步骤。
在服务器部署中,安装时会询问电子邮件地址和密码。如果您不记得密码但提供了有效的电子邮件地址,link“忘记密码”可能对您有用。
否则我想从头开始重新安装 pgAdmin4 也可能有效。
就个人而言,我将 pgAdmin4 作为 docker 容器启动,没有持久卷:
$ docker run -p8080:80 -e PGADMIN_DEFAULT_EMAIL=foo@example.com -e PGADMIN_DEFAULT_PASSWORD=bar dpage/pgadmin4
然后我连接到http://localhost:8080,第一页进入的email/password就是命令行传递的那些环境变量
我使用 postgres 11,我只是尝试将我的一个用户连接到 psql 和 pgadmin4
我的pg_hba.conf文件
# "local" is for Unix domain socket connections only
local all all peer
host sito lcm_admin 127.0.0.1/32 md5
host sito sito_lcm 127.0.0.1/32 md5
我的 postgres 用户有密码。
我试过我的 posgres 用户 sito_lcm 和 lcm_admin 连接到 pgAdmin4,总是得到
Invalid username or password
我知道有很好的,因为它是我用来在 java 程序中连接到 posgres 数据库的那个
我试过 psql
su - postgres typed my password
认证失败
尝试过我的一位数据库用户
psql -U lcm_admin sito
psql: FATAL: Peer authentication failed for user "lcm_admin"
编辑
根据 Daniel Vérité 的提示,我可以连接到 psql 但不能连接到 pgAdmin4
我第一次看到这个屏幕,我最后一次连接是在几个月前,不知道是否某些更新造成了这个问题
因为 pg_hba.conf
中的这条规则host sito lcm_admin 127.0.0.1/32 md5
您可能希望以这种方式调用 psql:
psql -U lcm_admin -h 127.0.0.1 sito
然后它会要求输入密码而不是失败并显示“对等身份验证失败”。
请注意,pg_hba.conf 中的规则按其在文件中的顺序(从上到下)进行测试,并在第一个匹配的规则处停止。
关于与 pgAdmin4 的连接:
如 https://www.pgadmin.org/docs/pgadmin4/latest/getting_started.html 中所述,作为应用程序访问 pgAdmin4 本身还有一个额外的步骤。
在服务器部署中,安装时会询问电子邮件地址和密码。如果您不记得密码但提供了有效的电子邮件地址,link“忘记密码”可能对您有用。 否则我想从头开始重新安装 pgAdmin4 也可能有效。
就个人而言,我将 pgAdmin4 作为 docker 容器启动,没有持久卷:
$ docker run -p8080:80 -e PGADMIN_DEFAULT_EMAIL=foo@example.com -e PGADMIN_DEFAULT_PASSWORD=bar dpage/pgadmin4
然后我连接到http://localhost:8080,第一页进入的email/password就是命令行传递的那些环境变量