U kunt het reeds gehashte wachtwoord opgeven met md5 , zoals vermeld in het document (ROLE MAKEN):
ENCRYPTED ONGECRYPTED Deze sleutelwoorden bepalen of het wachtwoord versleuteld wordt opgeslagen in de systeemcatalogi. (Als geen van beide is opgegeven, wordt het standaardgedrag bepaald door de configuratieparameter password_encryption.) Als de gepresenteerde wachtwoordreeks al een MD5-gecodeerd formaat heeft, wordt het gecodeerd opgeslagen zoals het is , ongeacht of ENCRYPTED of UNENCRYPTED is opgegeven (aangezien het systeem de opgegeven gecodeerde wachtwoordreeks niet kan decoderen). Hierdoor kunnen versleutelde wachtwoorden opnieuw worden geladen tijdens dump/restore.
De informatie die hier ontbreekt, is dat de met MD5 versleutelde tekenreeks het wachtwoord moet zijn, samengevoegd met de gebruikersnaam, plus md5 aan het begin.
Dus bijvoorbeeld om u0 . aan te maken met het wachtwoord foobar , wetende dat md5('foobaru0') is ac4bbe016b808c3c0b816981f240dcae :
CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';
en dan kan u0 inloggen door foobar . te typen als het wachtwoord.
Ik denk niet dat er momenteel een manier is om SHA-256 te gebruiken in plaats van md5 voor PostgreSQL-wachtwoorden.