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ę :).