Anmeldung bei Systembenutzer postgres nicht möglich

8

Ich habe postgresql auf Mac mit brauen installiert. Ich wurde während der Installation nicht nach dem Passwort für postgresql gefragt. Jetzt muss ich einen Benutzer erstellen und kann nicht:

%Vor%

Welches Passwort (auch leer) ich benutze, es ist falsch. Was ist der einfachste Weg, um es zurückzusetzen?

    
アレックス 01.06.2014, 17:02
quelle

4 Antworten

10

Sie versuchen, auf den System Benutzer namens postgres zuzugreifen. Laut den Kommentaren, die Sie auf den anderen Antworten hinterlassen haben, gibt es keinen solchen Benutzer. Sie können das Passwort eines Benutzers, der nicht existiert, nicht ändern.

Vielleicht ist es _postgres oder postgres_ ? Ich weiß, dass einige Installationsprogramme unter OS X seltsame Namen verwenden. Oder vielleicht hat Ihre Installation niemals erfolgreich einen postgres -Benutzer auf Ihrem System erstellt, so dass Sie kein Passwort dafür festlegen können?

Im Allgemeinen müssen Sie niemals ein Passwort für diesen Benutzer festlegen . Du kannst nur

%Vor%

oder was auch immer Sie als postgres superuser ausführen müssen.

Beachten Sie, dass Sie nicht su für irgendetwas benötigen sollten.

    
Craig Ringer 02.06.2014, 06:40
quelle
25
  

Ich habe postgresql auf Mac mit brauen installiert. Ich wurde nicht nach dem gefragt   Passwort für Postgresql während der Installation.

Das ist normal, weil brew kein postgres account benötigt oder erstellt. Die PostgreSQL-Prozesse laufen unter Ihrem eigenen Account. Die anderen 3 Antworten sind insofern falsch.

Siehe die Ausgabe von brew info postgres für Informationen.

Um ein neues Datenbankkonto zu erstellen, können Sie von Ihrem eigenen Betriebssystemkonto starten:

/usr/local/bin/createdb someusername

oder in psql:

/usr/local/bin/psql -d postgres

und dann als SQL-Befehl: CREATE USER someusername PASSWORD 'somepassword';

Dies sollte funktionieren, da brew normalerweise bei initdb time erstellt wurde:

  • ein Datenbank-Superuser-Account mit demselben Login wie Ihr Betriebssystem-Account (scheint in Ihrem Fall alex zu sein)
  • eine Datenbank mit dem Namen postgres , die zum Protokollieren von Informationen für administrative Aufgaben wie das Erstellen eines Benutzers verwendet werden kann.

Der vollständige Pfad /usr/local/bin wird verwendet, um die von brew bereitgestellten Befehle zu erreichen, im Gegensatz zu den gleichnamigen Befehlen, die mit dem System geliefert werden und sich in /usr/bin oder den Befehlen mit dem Befehl befinden gleichen Namen, die möglicherweise von anderen PostgreSQL-Anbietern wie postgres.app oder macports oder entreprisedb installiert werden. Es gibt 5-6 konkurrierende und inkompatible Möglichkeiten, PostgreSQL unter Mac OS X zu installieren.

EDIT: Die neueren Versionen von MacOS X Desktop Edition haben die postgres clientseitigen Befehle nicht mehr vorinstalliert. Dies scheint zumindest seit MacOS X 10.10 (Yosemite) und möglicherweise 10.9.

der Fall zu sein     
Daniel Vérité 02.06.2014 12:56
quelle
3

Warum nicht:

%Vor%

Damit werden Sie nach dem Passwort Ihres aktuellen Kontos gefragt. Dann werden Sie aufgefordert, das neue Passwort (zweimal) für den postgres Benutzer einzugeben.

    
Tamer Shlash 01.06.2014 18:06
quelle
3

Es gibt kein Standardkennwort. Um eine Shell als Benutzer postgres auszuführen, verwenden Sie:

%Vor%

oder die modernere Form ( wie von Craig empfohlen ):

%Vor%

Geben Sie exit ein, wenn Sie fertig sind. Mehr:
PostgreSQL-Fehler: Fatal: role " Benutzername "existiert nicht

Es stellte sich heraus, dass der Benutzer überhaupt nicht erstellt wurde. Schau dir @ Daniels Antwort an.

    
Erwin Brandstetter 01.06.2014 18:02
quelle