如何在Debian的Postgres 10中使用scram-sha-256?获取“致命错误:密码身份验证失败”

时间:2018-11-20 16:36:35

标签: postgresql authentication postgresql-10 sasl-scram

我编辑了pg_hba.conf

sudo su postgres
nano /etc/postgresql/10/main/pg_hba.conf

并添加以下行:

local   all             username                               scram-sha-256

并将该文件中的所有md5更改为scram-sha-256

作为postgres用户,我创建了一个具有超级用户权限的新用户:

sudo su postgres
psql

CREATE USER username WITH SUPERUSER PASSWORD 'password';

然后我重新启动Postgres:

/etc/init.d/postgresql restart

并尝试使用pgAdmin4登录,在该数据库中我更改了数据库的Connection属性下的用户名。但是无论如何,psql -U username testdb < ./testdb.sql都不起作用:

  

致命:用户“用户名”的密码验证失败

那么如何在我的Debian9 / KDE机器上让Postgres使用scram-sha-256?当我将所有md5留在pg_hba.conf中时,它工作得更早了。

1 个答案:

答案 0 :(得分:2)

The fine manual说:

  

要在确保所有正在使用的客户端库足够新以支持SCRAM之后,将现有安装从md5升级到scram-sha-256,请在password_encryption = 'scram-sha-256'中设置postgresql.conf,让所有用户设置新密码,并将pg_hba.conf中的身份验证方法规范更改为scram-sha-256

我想不出什么可以使它更清楚的了……