sql >> Databasteknik >  >> RDS >> PostgreSQL

Jag försökte ändra postgresql md5 till scram-sha-256 och jag får FATAL lösenordsautentisering misslyckades

Varje hash för användarlösenord sparas i tabellen pg_authid . Den inkluderar hashalgoritmen som används för att omvandla lösenordet till dess hash.

När du ställer in password_encryption i postgresql.conf ställer du in standardkrypteringen, det vill säga den som används när du skapar en användare eller när du (om)ställer in ditt lösenord. Tabellen pg_authid är inte uppdaterad.

När du ändrar pg_hba.conf säger du att du endast ska acceptera lösenord som hashas med den givna metoden. Tabellen pg_authid är inte uppdaterad.

Det finns en viktig anmärkning i dokumentet :

Så lösningen är att

  1. börja med de befintliga användarna, md5
  2. uppdatera postrgres.conf för att använda scram och ladda om konfigurationen
  3. återställ användarlösenordet:det kommer nu att sparas som scram i pg_authid
  4. du kan fortfarande använda md5 i pg_hba.conf
  5. när du är nöjd med övergången från md5 till scram, uppdatera pg_hba.conf för att ange scram istället för md5


  1. SQL Server:+(unär) operator på icke-numeriska strängar

  2. Guide för att designa databas för anställdas ledningssystem i MySQL

  3. Mysql långsam fråga:INNER JOIN + ORDER BY orsakar filsortering

  4. Varför används inte index för den här frågan?