Pokud máte chybu:
PG::Error
fe_sendauth: no password supplied
Máte dobrou zprávu, vaše aplikace nyní může pracovat s databází PostgreSQL. (Musíte ale něco nakonfigurovat)
Po instalaci PostgreSQL můžete vytvořit novou aplikaci rails pomocí PostgreSQL příkazem:
rails new my_app -d postgresql
Toto je database.yml
bude vytvořen:
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:
Vidíte, že tři databáze má username
a password
pole, toto je uživatel účtu v Postgresql, tři databáze v database.yaml
soubor vytvoří tento uživatel. Musíte tedy zadat username
a password
pro to. Výchozí po instalaci Postgresql se vytvořil uživatel s uživatelským jménem postgresql
a heslo je postgresql
. Můžete to použít.
Pokud chcete použít jiného uživatele, stačí otevřít pgAdmin III
a vytvořte nového uživatele kliknutím pravým tlačítkem na Login Roles
a zvolte New login role
pro vytvoření nového uživatele s heslem. Poté zadejte uživatelské jméno a heslo do database.yaml
soubor.
Poté už jen potřebujete najít a otevřít pg_hba.conf
soubor, aby se nějaká konfigurace pro aplikaci mohla pracovat s PostgreSQL. Windows nepoužívám dlouho, takže si nejsem jistý, kde to je, ale můžete to najít ve složce, kde jste nainstalovali PostgreSQL. Příklad, pokud instalujete na E:\
oddíl, možná ho najdete v:
E:\PostgreSQL\version\data
Až to najdete, otevřete a najděte řádek:
# "local" is for Unix domain socket connections only
local all all ident sameuser
Změňte jej na:
# "local" is for Unix domain socket connections only
local all all md5
Poté restartujte databázi Postgresql. Chcete-li vytvořit databázi pro aplikaci, spusťte rake db:create
nebo rake db:create:all
. Vaše aplikace nyní může používat databázi PostgreSQL, takže jsme rádi :).