Wenn Sie einen Fehler haben:
PG::Error
fe_sendauth: no password supplied
Sie haben gute Nachrichten, Ihre App kann jetzt mit der PostgreSQL-Datenbank arbeiten. (Aber Sie müssen etwas konfigurieren)
Nach der Installation von PostgreSQL können Sie mit PostgreSQL eine neue Rails-App mit folgendem Befehl erstellen:
rails new my_app -d postgresql
Dies ist database.yml
wird erstellt:
development:
adapter: postgresql
encoding: unicode
database: my_app_development
pool: 5
username: my_app
password:
test:
adapter: postgresql
encoding: unicode
database: my_app_test
pool: 5
username: my_app
password:
production:
adapter: postgresql
encoding: unicode
database: my_app_production
pool: 5
username: my_app
password:
Sie sehen, dass drei Datenbanken username
haben und password
Feld, dies ist der Kontobenutzer in Postgresql, drei Datenbanken in database.yaml
Datei wird von diesem Benutzer erstellt. Sie müssen also username
angeben und password
dafür. Nach der Installation von Postgresql wird standardmäßig ein Benutzer mit dem Benutzernamen postgresql
erstellt und das Passwort ist postgresql
. Sie können es verwenden.
Wenn Sie einen anderen Benutzer verwenden möchten, öffnen Sie einfach pgAdmin III
und erstellen Sie einen neuen Benutzer, indem Sie mit der rechten Maustaste auf Login Roles
klicken und wählen Sie New login role
um einen neuen Benutzer mit Passwort zu erstellen. Geben Sie dann diesen Benutzernamen und das Passwort in database.yaml
ein Datei.
Danach brauchen Sie nur noch pg_hba.conf
zu finden und zu öffnen Datei, um etwas für die App zu konfigurieren, kann mit PostgreSQL funktionieren. Ich benutze Windows schon lange nicht mehr, daher bin ich mir nicht sicher, wo es ist, aber Sie können es in dem Ordner finden, in dem Sie PostgreSQL installiert haben. Beispiel, wenn Sie auf E:\
installieren Partition, vielleicht finden Sie sie in:
E:\PostgreSQL\version\data
Nachdem Sie es gefunden haben, öffnen Sie und suchen Sie eine Zeile:
# "local" is for Unix domain socket connections only
local all all ident sameuser
Ändern Sie es in:
# "local" is for Unix domain socket connections only
local all all md5
Starten Sie dann Ihre Postgresql-Datenbank neu. Um eine Datenbank für die App zu erstellen, führen Sie rake db:create
aus oder rake db:create:all
. Jetzt kann Ihre App die PostgreSQL-Datenbank verwenden, so glücklich :).