Можете да предоставите паролата, която вече е хеширана с md5
, както е посочено в документа (СЪЗДАВАНЕ НА РОЛЯ):
КРИФИРАНО НЕШИРИРОВАНО Тези ключови думи контролират дали паролата се съхранява криптирана в системните каталози. (Ако нито едно не е посочено, поведението по подразбиране се определя от конфигурационния параметърpassword_encryption.) Ако представеният низ с парола вече е в шифрован формат MD5, тогава той се съхранява криптиран такъв, какъвто е , независимо дали е посочено ENCRYPTED или UNENCRYPTED (тъй като системата не може да дешифрира посочения низ от криптирана парола). Това позволява презареждане на криптирани пароли по време на изхвърляне/възстановяване.
Информацията, която липсва тук, е, че MD5-криптираният низ трябва да бъде паролата, свързана с потребителското име, плюс md5
в началото.
Така например да създадете u0
с паролата foobar
, знаейки, че md5('foobaru0')
е ac4bbe016b808c3c0b816981f240dcae
:
CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';
и тогава u0 ще може да влезе, като напише foobar
като парола.
Не мисля, че в момента има начин да се използва SHA-256
вместо md5
за пароли за PostgreSQL.