PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Ho provato a cambiare postgresql md5 in scram-sha-256 e ottengo l'autenticazione della password FATAL fallita

Ogni hash della password utente viene salvato nella tabella pg_authid . Include l'algoritmo di hashing utilizzato per trasformare la password nel relativo hash.

Quando si imposta il password_encryption in postgresql.conf, stai impostando la crittografia di default, ovvero quella utilizzata quando crei un utente o quando (ri)imposta la tua password. La tabella pg_authid è non aggiornato.

Quando modifichi pg_hba.conf, stai dicendo di accettare solo le password con hash usando il metodo indicato. La tabella pg_authid è non aggiornato.

C'è una nota importante nel doc :

Quindi la soluzione è

  1. inizia con gli utenti esistenti, md5
  2. aggiorna postrgres.conf per usare scram e ricaricare la configurazione
  3. reimposta la password utente:ora verrà salvata come scram in pg_authid
  4. puoi ancora usare md5 in pg_hba.conf
  5. Quando sei soddisfatto del passaggio da md5 a scram, aggiorna pg_hba.conf per specificare scram invece di md5