Ob ein Passwort erforderlich ist oder nicht, hat nichts mit pg_shadow
zu tun und ob für den Benutzer tatsächlich ein Passwort definiert ist. Ja, ich weiß, das ist komisch.
pg_hba.conf
steuert die Authentifizierungsmethode. Wenn Sie ein Passwort anfordern möchten, verwenden Sie md5
Authentifizierung. Wenn Sie jedem die Anmeldung ohne Passwort erlauben möchten, verwenden Sie trust
. Wenn Sie im Betriebssystem denselben Benutzernamen wie in PostgreSQL benötigen möchten, verwenden Sie peer
(UNIX, nur für lokale Verbindungen) oder sspi
(Windows).
Wenn ein Passwort gesetzt ist, aber pg_hba.conf
weist PostgreSQL nicht an, danach zu fragen, das Passwort wird ignoriert.
Wenn pg_hba.conf
weist PostgreSQL an, nach einem Passwort zu fragen, aber es ist keins gesetzt, dann schlagen alle Anmeldeversuche fehl, egal welches Passwort angegeben wird.
Der Postgres-Benutzer hat standardmäßig kein Passwort. So entfernen Sie ein Benutzerkennwort (in diesem Fall für den Postgres-Benutzer/die Postgres-Rolle):
alter role postgres password null;
Außerdem müssen wir die Authentifizierung auf trust
setzen in pg_hba.conf
- Details anzeigen