Setiap hash kata sandi pengguna disimpan dalam tabel pg_authid
. Ini mencakup algoritme hashing yang digunakan untuk mengubah kata sandi menjadi hashnya.
Saat menyetel password_encryption
di postgresql.conf, Anda mengatur enkripsi default, yaitu yang digunakan saat membuat pengguna atau ketika (kembali) mengatur kata sandi Anda. Tabel pg_authid
adalah tidak diperbarui.
Saat mengubah pg_hba.conf, Anda mengatakan untuk hanya menerima kata sandi yang di-hash menggunakan metode yang diberikan. Tabel pg_authid
adalah tidak diperbarui.
Ada catatan penting dalam doc :
Jadi solusinya adalah
- mulai dengan pengguna yang ada, md5
- perbarui postrgres.conf untuk menggunakan scram dan memuat ulang konfigurasi
- setel ulang kata sandi pengguna:sekarang akan disimpan sebagai scram di pg_authid
- Anda masih dapat menggunakan md5 di pg_hba.conf
- bila senang dengan perpindahan dari md5 ke scram, perbarui pg_hba.conf untuk menentukan scram alih-alih md5