Verwenden Sie den Betriebssystembenutzer postgres
um Ihre Datenbank zu erstellen - solange Sie noch keine Datenbank eingerichtet haben Rolle mit den erforderlichen Rechten, die Ihrem gleichnamigen Betriebssystembenutzer entspricht (h9uest
in Ihrem Fall):
sudo -u postgres -i
Wie hier oder hier empfohlen.
Dann versuchen Sie es erneut. Geben Sie exit
ein wenn Sie mit dem Betrieb als Systembenutzer postgres
fertig sind .
Oder Führen Sie den einzelnen Befehl createuser
aus als postgres
mit sudo
, wie von drees in einer anderen Antwort gezeigt.
Es geht darum, dem Betriebssystembenutzer, der der gleichnamigen Datenbankrolle entspricht, den Zugriff über ident
zu gewähren Authentifizierung . postgres
ist der Standardbenutzer des Betriebssystems, der den Datenbankcluster initialisiert hat. Das Handbuch:
Um das Datenbanksystem zu booten, enthält ein frisch initialisiertes System immer eine vordefinierte Rolle. Diese Rolle ist immer ein „Superuser“ und standardmäßig (sofern nicht beim Ausführen von initdb
geändert ) Es hat denselben Namen wie der Betriebssystembenutzer, der den Datenbankcluster initialisiert hat. Üblicherweise wird diese Rolle postgres
genannt .Um weitere Rollen zu erstellen, müssen Sie sich zuerst als diese initiale Rolle verbinden.
Ich habe von seltsamen Setups mit nicht standardmäßigen Benutzernamen gehört oder wo der Betriebssystembenutzer nicht existiert. Da müssten Sie Ihre Strategie anpassen.
Lesen Sie mehr über Datenbankrollen und Client-Authentifizierung im Handbuch.