Sie können das bereits gehashte Passwort mit md5
angeben , wie im Dokument gesagt (CREATE ROLE):
ENCRYPTED UNENCRYPTED Diese Schlüsselwörter steuern, ob das Passwort in den Systemkatalogen verschlüsselt gespeichert wird. (Wenn beides nicht angegeben ist, wird das Standardverhalten durch den Konfigurationsparameterpassword_encryption bestimmt.) Wenn die präsentierte Passwortzeichenfolge bereits im MD5-verschlüsselten Format vorliegt, wird sie so wie sie ist verschlüsselt gespeichert , unabhängig davon, ob ENCRYPTED oder UNENCRYPTED angegeben ist (da das System die angegebene verschlüsselte Kennwortzeichenfolge nicht entschlüsseln kann). Dies ermöglicht das erneute Laden verschlüsselter Passwörter während des Dump/Restore.
Die Information, die hier fehlt, ist, dass die MD5-verschlüsselte Zeichenfolge das Passwort sein muss, das mit dem Benutzernamen verkettet ist, plus md5
am Anfang.
Also zum Beispiel um u0
zu erstellen mit dem Passwort foobar
, wissend, dass md5('foobaru0')
ist ac4bbe016b808c3c0b816981f240dcae
:
CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';
und dann kann sich u0 anmelden, indem Sie foobar
eingeben als Passwort.
Ich glaube nicht, dass es derzeit eine Möglichkeit gibt, SHA-256
zu verwenden statt md5
für PostgreSQL-Passwörter.