Jeśli masz błąd:
PG::Error
fe_sendauth: no password supplied
Masz dobrą wiadomość, Twoja aplikacja może teraz współpracować z bazą danych PostgreSQL. (Ale musisz coś skonfigurować)
Po zainstalowaniu PostgreSQL możesz utworzyć nową aplikację rails za pomocą PostgreSQL poleceniem:
rails new my_app -d postgresql
To jest database.yml zostanie utworzony:
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:
Widzisz, trzy bazy danych mają username i password pole, to jest konto użytkownika w Postgresql, trzy bazy danych w database.yaml plik zostanie utworzony przez tego użytkownika. Musisz więc podać username i password dla tego. Domyślnie po zainstalowaniu Postgresql utworzył użytkownika z nazwą użytkownika postgresql a hasło to postgresql . Możesz go użyć.
Jeśli chcesz użyć innego użytkownika, po prostu otwórz pgAdmin III i utwórz nowego użytkownika, klikając prawym przyciskiem myszy Login Roles i wybierz New login role aby utworzyć nowego użytkownika z hasłem. Następnie umieść tę nazwę użytkownika i hasło w database.yaml plik.
Teraz wystarczy tylko znaleźć i otworzyć pg_hba.conf plik konfiguracyjny dla aplikacji, który może współpracować z PostgreSQL. Od dawna nie używam systemu Windows, więc nie jestem pewien, gdzie on jest, ale możesz znaleźć w folderze, w którym zainstalowałeś PostgreSQL. Przykład, jeśli zainstalujesz na E:\ partycja, może znajdziesz ją w:
E:\PostgreSQL\version\data
Po znalezieniu otwórz i znajdź linię:
# "local" is for Unix domain socket connections only
local all all ident sameuser
Zmień go na:
# "local" is for Unix domain socket connections only
local all all md5
Następnie uruchom ponownie bazę danych Postgresql. Aby utworzyć bazę danych dla aplikacji, uruchom rake db:create lub rake db:create:all . Teraz Twoja aplikacja może teraz korzystać z bazy danych PostgreSQL, więc ciesz się :).