【问题标题】:PostgreSQL downgrade password encryption from SCRAM to md5PostgreSQL 将密码加密从 SCRAM 降级为 md5
【发布时间】:2021-07-19 18:17:27
【问题描述】:

我需要将用户 postgres 的密码加密从 scram-sha-265 降级为 md5

我尝试修改 pg_hba.confpostgresql.conf 文件,将密码加密从 scram-sha-256 更改为 md5 但之后我无法连接到数据库。

我正在使用 PostgreSQL 13 和 PgAdmin 4 v5。

感谢您的帮助和建议!

PS:我必须这样做,因为 RStudio 无法使用 scram 身份验证管理连接。

【问题讨论】:

  • 你遇到了什么错误?日志文件说了什么?
  • 错误是 postgresqlNewConnection(drv, ...) 中的错误:RS-DBI 驱动程序:(无法在 dbname“progetto_bd”上连接 postgres@127.0.0.1:5432:SCRAM 身份验证需要libpq 版本 10 或以上)
  • 我很确定库版本在10以上
  • 但是错误信息很确定它不是。我认为我们可以在这里处理错误消息。我看过很多次,从不知道它是错的。

标签: postgresql md5 psql password-encryption postgresql-13


【解决方案1】:

您需要重新加载数据库,然后再次设置用户的密码(可能使用超级用户帐户),以便用户再次拥有经过 MD5 哈希处理的密码。使用psql 以超级用户身份连接到数据库,然后:

SELECT pg_reload_conf();

-- to verify the settings are like you want:

SHOW password_encryption;
SELECT * FROM pg_hba_file_rules();

-- change the password

\password myuser

【讨论】:

  • 你能更精确一点吗?谢谢:)
  • 我已经扩展了我的答案。
  • 感谢您的回答。登录到 psql 后,我一一尝试了这些行,但除了“\password myuser”之外,什么都没有返回给我。这正常吗?同样对于“myuser”,它告诉我角色“myuser”不存在;所以我尝试了“postgresql”仍然无法正常工作......请问有什么建议吗?
  • @Helene 你忘了分号。
【解决方案2】:

我按照以下步骤解决了:

在文件 postgresql.conf

中将 password_encryption 更改为 md5

在文件 pg_hba.conf

中将 scram-sha-256 的前 3 次出现更改为 trust
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

重启postgresql服务

执行psql -U postgres(不会要求你输入密码)

使用命令更改密码/password

在文件 pg_hba.conf

中将 trust 的前 3 次出现更改为 md5
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

重启postgresql服务

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    • 2017-04-29
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多