[英]Unable to connect to local PostgreSQL database
我創建了一個簡單的rails應用程序
1
$ rails new myapp1 -d postrgresql
2 。 刪除了/public/index.html
3 。 創建了Homecontroller和動作
4 。 寫了路線
myapp1 :: Application.routes.draw做
root :to => "home#index" match 'about' => 'home#about' match 'contacts' => 'home#contacts' match 'projects' => 'home#projects' end
5 。 創建了視圖和默認布局
6 。 底線。 這是database.yml
發展:
adapter: postgresql encoding: unicode database: myapp1_db host: localhost pool: 5 username: myapp1_user password: 1234 test: adapter: postgresql encoding: unicode database: myapp1_db host: localhost pool: 5 username: myapp1_user password: 1234 production: adapter: postgresql encoding: unicode database: myapp1_db host: localhost pool: 5 username: myapp1_user password: 1234
當然我創建了用戶和數據庫
sudo -u postgres psql
postgres=# \password
postgres=# create user myapp1_user with password '1234';
postgres=# create database myapp1_db owner myapp1_user;
但有一些擔憂:
1 。 現在我不使用任何數據庫,但盡管如此,應用程序仍然出錯
PG ::錯誤致命:用戶“myapp1”的對等身份驗證失敗
2 。 看起來rails似乎對database.yml
視而不見。 為什么它使用用戶myapp1而不是myapp1_user ?
空白在YAML中很重要。
production:
adapter: postgresql
encoding: unicode
...
password: 1234
應該:
production:
adapter: postgresql
encoding: unicode
...
password: 1234
在database.yml文件中提供主機和端口,如下所示:
development:
adapter: postgresql
encoding: unicode
database: myapp1_db
host: localhost
pool: 5
username: myapp1_user
password: 1234
host: localhost
port: 5432
在Ubuntu 12.04 LTS上使用Rails 3.2.x和PostgreSQL 9.1.x就像魅力一樣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.