ändern PSQL default user
K - so hoffentlich erklären, warum ich versuche zu tun, zu helfen. Ich mache die meisten meiner dev Arbeit auf einem vom Unternehmen zur Verfügung gestellte laptop, aber wenn ich nach Hause komme, möchte ich mit meinem desktop. Ich habe eine Reihe von rails-Projekten, wobei die username & Passwort bereits definiert als 'postgres', so dass ich nicht wollen, ändern Sie das username & Passwort in die .yml-Dateien für diese Projekte nur, um es zu erhalten zu arbeiten auf meinem desktop. Zu viel Kopfschmerzen. Also, alles was ich tun möchte ist meine postgres-Umgebung zu suchen, der Benutzer 'postgres' als Standard. Ich will auch nicht zu haben, zu übergeben,- U oder -W jedes mal, wenn ich einloggen wollte. So...
Wie können Sie die Standard-Rolle für psql/postgres?
Von der Befehl Linie, wenn ich Schreibe:
$ psql
Ich wieder
psql: FATAL: role "crash" does not exist
Schaut es für "crash", denn das ist mein Benutzer-Konto für meinen PC einloggen - aber ich möchte meinen Standard-Benutzernamen "postgres" nicht "Abstürzen". Wie kann ich einstellen, welche Rolle PSQL sucht auf init?
Wie es sich herausstellt, hat Google eine Reihe von Ressourcen in Bezug auf die Erstellung einer neuen Rolle für postgres, oder das Passwort zu ändern, oder eine beliebige Anzahl von anderen nützlichen Informationen, aber ich habe lange gesucht für Stunden, und ich kann nicht finden, etwas bestimmtes zu ändern, die Rolle postgres zum Standard.
Wenn jemand könnte mich in die richtige Richtung, ich würde es zu schätzen wissen.
Sys - ubuntu 12.04 lts
64-bit -
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es einführende Informationen zur Verwendung von PostgreSQL auf Ubuntu auf der Ubuntu-Community-Website.
Möglicherweise finden Sie auch die PostgreSQL Handbuch zur client-Authentifizierung nützlich.
Werden Sie wollen, um legen Sie die
PGUSER
environment variable überschreiben des Standard-Benutzers.Kann es auch sinnvoll sein, zu definieren, eine service für
libpq
im~/.pg_service.conf
pro die Dokumentation auflibpq
service-Definitionen; man kann dann finden, dass inpsql
mitservice=myservice
ist, vermeidet die Notwendigkeit zu wiederholen, die details. Dies ist der "richtige" Weg, dieses problem zu bewältigen - einen service definieren, beziehen sich auf den Dienst in derdatabase.yml
und haben eine.pg_service.conf
Datei außerhalb revision control angeben, was das eigentlich bedeutet, mit einer Vorlage kopieren, in überarbeitung Kontrolle für die Bequemlichkeit.(Die
~/.psqlrc
Datei kann auch nützlich sein, Siehe die Dokumentation für psql.)Shell-Aliase könnten nützlich sein, auch. Ich habe oft Dinge tun, wie fügen Sie
meiner
~/.bashrc
für bequemen Zugriff auf Häufig genutzte Datenbanken und hosts.Den
~/.pgpass
- Datei kann verwendet werden zum speichern von Passwörtern für verschiedene host - /port - /db/user Kombinationen.Alle, dass gesagt wird, es ist ein schrecklichen Idee zu arbeiten, die routinemäßig als
postgres
Benutzer. Es sollte nicht Ihr Standard. Anlegen eines normalen Benutzer, vielleicht sogar eines mitCREATEDB
Rechte, aber kein superuser. Verwenden Sie, dass Benutzer, die für die meisten Aufgaben und nur Schalter, um einen superuser (postgres
oder ein anderer Benutzer Sie für den Zweck), wenn Sie müssen superuser-Rechte. Es ist das gleiche Prinzip wie "nicht als root arbeiten,sudo
nur bei Bedarf statt".Hier ein kleines bash-snippet zu verwenden, die erste angegebene Benutzername in
~/.pgpass
: