Du kan ange lösenordet som redan är hashat med md5
, som sagt i dokumentet (SKAPA ROLL):
KRYPTAD OCRYPTAT Dessa nyckelord styr om lösenordet lagras krypterat i systemkatalogerna. (Om ingetdera anges, bestäms standardbeteendet av konfigurationsparameternpassword_encryption.) Om den presenterade lösenordssträngen redan är i MD5-krypterat format lagras den krypterad som den är , oavsett om KRYPTAD eller OKRYPTAD är angiven (eftersom systemet inte kan dekryptera den angivna krypterade lösenordssträngen). Detta möjliggör omladdning av krypterade lösenord under dumpning/återställning.
Informationen som saknas här är att den MD5-krypterade strängen ska vara lösenordet sammanlänkat med användarnamnet plus md5
i början.
Så till exempel för att skapa u0
med lösenordet foobar
, att veta att md5('foobaru0')
är ac4bbe016b808c3c0b816981f240dcae
:
CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';
och sedan kommer u0 att kunna logga in genom att skriva foobar
som lösenord.
Jag tror inte att det för närvarande finns något sätt att använda SHA-256
istället för md5
för PostgreSQL-lösenord.