Chaque hachage de mot de passe utilisateur est enregistré dans la table pg_authid
. Il inclut l'algorithme de hachage utilisé pour transformer le mot de passe en son hachage.
Lors de la définition du password_encryption
dans postgresql.conf, vous définissez le cryptage par défaut, c'est-à-dire celui utilisé lors de la création d'un utilisateur ou lors de la (re)définition de votre mot de passe. Le tableau pg_authid
n'est pas mis à jour.
Lors de la modification de pg_hba.conf, vous dites d'accepter uniquement les mots de passe hachés à l'aide de la méthode donnée. Le tableau pg_authid
n'est pas mis à jour.
Il y a une note importante dans la doc :
Donc la solution est de
- commencez par les utilisateurs existants, md5
- mettre à jour postrgres.conf pour utiliser scram et recharger la configuration
- réinitialisez le mot de passe de l'utilisateur :il sera désormais enregistré en tant que scram dans pg_authid
- vous pouvez toujours utiliser md5 dans pg_hba.conf
- lorsque vous êtes satisfait du passage de md5 à scram, mettez à jour pg_hba.conf pour spécifier scram au lieu de md5