首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在psql上连接指定连接字符串postgres

无法在psql上连接指定连接字符串postgres
EN

Database Administration用户
提问于 2023-03-13 21:39:33
回答 1查看 392关注 0票数 1

在我的Ubuntu机器上,我安装了postgres 15,我创建了一个名为"test“的新超级用户(带有密码"test")。然后,我还创建了一个名为" test“的数据库,并将所有特权授予用户测试。下面是我所做的一系列步骤:

代码语言:javascript
复制
# Create a new user on Ubuntu
sudo adduser test

# Create the user test on postgres
sudo -u postgres psql postgres;
CREATE USER test SUPERUSER;
ALTER USER test WITH PASSWORD 'test';
exit;

# Login with test to create the DB and being the owner of the DB
sudo -u test psql postgres;
CREATE DATABASE test;
GRANT ALL PRIVILEGES ON DATABASE test TO test;
exit;

在psql中,当我尝试以下操作时,我可以成功地连接:

代码语言:javascript
复制
psql -d test -U test

然而,如果我尝试:

代码语言:javascript
复制
psql postgresql://test:test@localhost:5432/test

I get: psql: error:连接到"localhost“(127.0.0.1)的服务器(127.0.0.1),端口5432失败:致命:用户”测试“密码身份验证失败

我在网上浏览过,但没有成功。这是mu pg_hba.conf文件的相关部分。

有什么帮助吗?

EN

回答 1

Database Administration用户

发布于 2023-03-13 22:01:23

您有两个不同的auth方法md5用于本地(套接字)和scram-sha-256用于主机(Ip)。这个psql -d test -U test使用套接字和md5,另一个使用hostscram-sha-256。您的密码设置为md5。解决方案是将scram-sha-256更改为md5并重新加载pg_hba.conf

每个文档密码auth

为了简化从md5方法到较新的SCRAM方法的转换,如果md5被指定为pg_hba.conf中的一种方法,但是服务器上的用户密码是为pg_hba.conf加密的(见下文),则将自动选择基于SCRAM的身份验证。

然后,随着时间的推移,您可以将密码更改为scram-sha-256

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/324718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档