Wie füge ich neue Benutzer zu PostgreSQL 9.1 unter Mac OS X 10.6 hinzu?

1

Ich kann psqlmit meinem normalen Mac-Benutzerkonto in der Terminalsitzung nicht ausgeführt werden, obwohl ich das über das postgresDienstkonto tun kann . Wenn ich den Befehl eingebe psql mydbund mein Passwort eingebe, wird folgende Meldung angezeigt:

WARNING: password file "/Users/beh/.pgpass" has group or world access; permissions should be u=rw (0600) or less

Aber ich kann nicht finden .pgpass.

Wie richte ich Benutzer für meine PostgreSQL 9.1-Datenbank unter Mac OS X 10.6.8 ein und füge sie hinzu?

Cheng
quelle
Zu Ihrer Information, PostgreSQL wurde auf 9.2 aktualisiert .
bwDraco

Antworten:

0

Die Datei .pgpassbeginnt mit einem Punkt und ist daher in den meisten Dateimanagern standardmäßig ausgeblendet. Sie sollten jedoch über Terminal darauf zugreifen können. Sie brauchen die .pgpassDatei wahrscheinlich nicht , daher ist es möglicherweise eine gute Idee, sie zu löschen. Wenn Sie es behalten möchten, bearbeiten Sie die Kennwortdatei gemäß der Dokumentation und führen Sie sie aus chmod 0600 ~/.pgpass, um die Berechtigungen zu korrigieren.

PostgreSQL-Benutzerkonten sind unabhängig vom Betriebssystem. Beachten Sie jedoch, dass psqlder Systembenutzername des aktuellen Benutzers , sofern er nicht in der Befehlszeile angegeben ist, sowohl als Datenbankname als auch als PostgreSQL-Benutzername verwendet wird. Ein Fehler tritt auf, wenn im Datenbankcluster keine Datenbank oder kein Benutzer mit diesem Namen vorhanden ist. Um Benutzer hinzuzufügen, führen Sie sie psqlals postgresBenutzer aus und verwenden Sie dann die SQL-Befehle CREATE ROLEoder CREATE USER. Sofern die Benutzer keine Verbindung zu derselben Datenbank herstellen, möchten Sie möglicherweise Datenbanken für jeden Benutzer erstellen, um Fehler zu vermeiden.

bwDraco
quelle
Danke für die Antwort. Ich denke, mein Mac ist beschädigt. Selbst nachdem ich eine Rolle erstellt habe, kann ich mich nicht anmelden. Ich deinstalliere POSTGRESQL und denke, es wird den Benutzer POSTGRES von MAC los und ich kann von vorne anfangen. Wenn ich jedoch versuche, POSTGRES in den Systemeinstellungen für die Kontenverwaltung zu erstellen, wird angezeigt, dass der Benutzer bereits vorhanden ist, obwohl ich den Benutzer nicht sehen kann. Ich verwende das Mac-Administratorkonto. Was kann ich tun, um das Problem zu beheben?
Cheng
Löschen Sie den postgresBenutzer mit dem userdelBefehl (oder einem gleichwertigen Befehl, falls auf Ihrem System nicht verfügbar) auf dem Terminal. Löschen Sie dann den Datenbankcluster (der /usr/local/var/postgresstandardmäßig in gespeichert ist ) und installieren Sie PostgreSQL neu (wodurch das postgresKonto automatisch neu erstellt wird ). Wenn der Datenbankcluster nicht automatisch neu erstellt wird, tun Sie dies an derselben Stelle, an der er mit dem Befehl initdb gelöscht wurde .
bwDraco
@Cheng: Klicken Sie auf das Häkchen unter den Abstimmungs-Steuerelementen nach oben / unten, um dies als beste Antwort zu akzeptieren, damit die Community sehen kann, dass das Problem behoben ist.
bwDraco