PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Próbowałem zmienić postgresql md5 na scram-sha-256 i nie udało mi się uwierzytelnić hasła FATAL

Każdy skrót hasła użytkownika jest zapisywany w tabeli pg_authid . Zawiera algorytm haszujący używany do przekształcenia hasła w jego hash.

Podczas ustawiania password_encryption w postgresql.conf ustawiasz domyślne szyfrowanie, czyli to, które jest używane podczas tworzenia użytkownika lub podczas (re)ustawiania hasła. Tabela pg_authid jest nie zaktualizowany.

Zmieniając pg_hba.conf, mówisz, że akceptujesz tylko hasła zahaszowane przy użyciu podanej metody. Tabela pg_authid jest nie zaktualizowany.

W dokumencie znajduje się ważna uwaga :

Rozwiązaniem jest więc

  1. zacznij od istniejących użytkowników, md5
  2. zaktualizuj plik postrgres.conf, aby używał scram i przeładowywał konfigurację
  3. zresetuj hasło użytkownika:zostanie ono teraz zapisane jako scram w pg_authid
  4. nadal możesz używać md5 w pg_hba.conf
  5. gdy jesteś zadowolony z przejścia z md5 na scram, zaktualizuj pg_hba.conf, aby określić scram zamiast md5


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można połączyć się z serwerem PostgreSQL

  2. Pula połączeń dla aplikacji na Androida, która łączy się z bazą danych Postgresql

  3. nie można utworzyć postgresa użytkownika:rola postgres nie istnieje

  4. Modelowanie tabel bazy danych użytkowników, grup i członkostwa

  5. Nie można po prostu użyć nazwy tabeli PostgreSQL (relacja nie istnieje)