Anda dapat memberikan kata sandi yang sudah di-hash dengan md5
, seperti yang dikatakan dalam dokumen (BUAT PERAN):
ENCRYPTED UNENCRYPTED Kata kunci ini mengontrol apakah kata sandi disimpan terenkripsi dalam katalog sistem. (Jika tidak ada yang ditentukan, perilaku default ditentukan oleh parameter konfigurasipassword_encryption.) Jika string sandi yang disajikan sudah dalam format terenkripsi MD5, maka akan disimpan terenkripsi apa adanya , terlepas dari apakah ENCRYPTED atau UNENCRYPTED ditentukan (karena sistem tidak dapat mendekripsi string kata sandi terenkripsi yang ditentukan). Hal ini memungkinkan pemuatan ulang sandi terenkripsi selama dump/restore.
Informasi yang hilang di sini adalah bahwa string terenkripsi MD5 harus berupa sandi yang digabungkan dengan nama pengguna, ditambah md5
di awal.
Jadi misalnya untuk membuat u0
dengan kata sandi foobar
, mengetahui bahwa md5('foobaru0')
adalah ac4bbe016b808c3c0b816981f240dcae
:
CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';
dan kemudian u0 akan dapat masuk dengan mengetik foobar
sebagai kata sandi.
Saya tidak berpikir bahwa saat ini ada cara untuk menggunakan SHA-256
bukannya md5
untuk kata sandi PostgreSQL.