我编辑了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
中时,它工作得更早了。
答案 0 :(得分:2)
要在确保所有正在使用的客户端库足够新以支持SCRAM之后,将现有安装从
md5
升级到scram-sha-256
,请在password_encryption = 'scram-sha-256'
中设置postgresql.conf
,让所有用户设置新密码,并将pg_hba.conf
中的身份验证方法规范更改为scram-sha-256
。
我想不出什么可以使它更清楚的了……