Ich richte eine Rails App auf einer frischen Ubuntu Installation ein und erstelle die Postgres Datenbanken mit Rake db: create: all. In datenbanken.yml ist das Kennwortfeld für alle Datenbanken leer. Ich versuche, einen pg_restore eines Dumps zu erstellen, den ich von der Produktionsbereitstellung der App erfasst habe, aber ich werde weiterhin nach einem Passwort gefragt. Ich habe das Gefühl, dass dies etwas mit den Einstellungen in der Datei pg_hba.conf zu tun hat, aber ich kann mich nicht erinnern, wie ich sie in meiner vorherigen Ubuntu-Installation eingestellt hatte. Wie bekomme ich Postgres, pg_restore für lokale Verbindungen zu vertrauen? Oder gibt es etwas anderes, das dieses Problem verursacht?pg_restore fragt nach einem Passwort für die Datenbank, wenn es keine gibt
Antwort
Set trust
(oder peer
wenn Sie postgresql Benutzernamen in die Unix-Benutzernamen übereinstimmen soll) für local
Verbindungen in pg_hba.conf
. Sie haben es in Ihrer Frage ziemlich beantwortet.
Wenn Sie die Angabe -h localhost
explizit dann TCP/IP Sie verwenden, so dass Sie entweder -h localhost
weglassen benötigen, verwenden -h /tmp
oder wo auch immer Ihr unix_socket_directory
konfiguriert ist, zu leben, oder setzen trust
für host
Verbindungen von 127.0.0.1/32
in pg_hba.conf
auch.
Siehe pg_hba.conf
und client authentication.
Eine alternative Lösung wäre, die Anmeldeinformationen auf dem Client-Rechner in einer .pgpass Datei im Benutzerverzeichnis zu speichern:
localhost: *: Datenbank: Benutzername: Passwort
Die Berechtigungen für diese Datei muss mindestens 0600 sein oder wird ignoriert.
http://www.postgresql.org/docs/9.2/interactive/libpq-pgpass.html
Danke, das –
mein Problem gelöst Vergessen Sie nicht, den postgre Dienst danach neu zu starten. – bdavidxyz