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.