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