微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Postgresql - 用户

如何解决Postgresql - 用户

嗯,我一直在做一个关于 Django 的项目,但是我的一个朋友遇到了一个问题,所以他把他的项目(整个文件夹)发给了我。无论如何,我尝试运行服务器,但没有成功。我试图从设置文件中更改密码和用户名,当我尝试访问用户时,用户名被更改(因为 sql shell 识别它,我认为¯_(ツ)_/¯),但是每当我尝试使用我在设置文件中写的密码登录它会产生以下错误

django.db.utils.OperationalError: FATAL: password authentication Failed for user "Youssef"

这是 settings.py 文件中的 DATABASE 部分:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql','NAME': 'Boards_django','USER': 'Youssef','PASSWORD': '000000','HOST': 'localhost','PORT': '5432',}
}

顺便说一句,数据库被 PgAdmin4 识别:

enter image description here

知道我该怎么做吗???

旁注:我无法访问用户,因此我无法使用 postgresql 的任何命令 此外,当我尝试从 VS Code 运行服务器或对数据库进行任何操作时,它会引发以下错误

django.db.utils.OperationalError: FATAL: password authentication Failed for user "Youssef"

这是 pg_hba.conf 中的数据

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     scram-sha-256
# 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                                     scram-sha-256
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256

解决方法

有几种可能:

  • 您使用了错误的密码

  • 没有为用户设置 SCRAM-SHA-256 密码

    这可能是因为没有设置密码,或者因为 password_encryption 参数设置为 md5,或者因为在更改 password_encryption 后密码没有更改。>

    查看当前设置:

    SHOW password_encryption;
    

    查看密码:

    SELECT rolpassword
    FROM pg_authid
    WHERE rolname = 'Youssef';
    
,

嗯,问题是我朋友在他的数据库中有轻微的拼写差异,当我在 PgAdmin 页面将它添加到我的数据库时,它运行得很好。

感谢所有提供帮助的人

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。