Du kan angive adgangskoden, der allerede er hashed med md5
, som sagt i dokumentet (OPRET ROLLE):
KRYPTET UEKRYPTET Disse nøgleord styrer, om adgangskoden gemmes krypteret i systemkatalogerne. (Hvis ingen af dem er angivet, bestemmes standardadfærden af konfigurationsparameteren password_encryption.) Hvis den præsenterede adgangskodestreng allerede er i MD5-krypteret format, lagres den krypteret som den er , uanset om der er angivet ENCRYPTED eller UNECRYPTED (da systemet ikke kan dekryptere den angivne krypterede adgangskodestreng). Dette tillader genindlæsning af krypterede adgangskoder under dump/gendannelse.
De oplysninger, der mangler her, er, at den MD5-krypterede streng skal være adgangskoden sammenkædet med brugernavnet plus md5
i begyndelsen.
Så for eksempel at oprette u0
med adgangskoden foobar
, vel vidende at md5('foobaru0')
er ac4bbe016b808c3c0b816981f240dcae
:
CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';
og så vil u0 være i stand til at logge ind ved at skrive foobar
som adgangskode.
Jeg tror ikke, at der i øjeblikket er en måde at bruge SHA-256
på i stedet for md5
til PostgreSQL-adgangskoder.