我正在使用ubuntu 12.04和rails 3.2。我正在创建一个使用PostgreSQL数据库的 rails 应用程序。我使用以下命令安装了 postgresql:
sudo apt-get install postgresql
作为参考,我查看了https://help.ubuntu.com/community/PostgreSQL。后来我创建了用户 postgres 并使用以下命令设置密码 postgres
sudo -u postgres psql postgres
\password postgres
接下来,我使用以下方法创建了数据库:
sudo -u postgres createdb mydb
我尝试使用用户名postgres和密码postgres连接 Postgresql,并使用以下命令成功连接:
psql -U postgres -h localhost
Password for user postgres:
psql (9.1.4)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
postgres=#
在我的 rails 应用程序中,我的 database.yml 具有以下代码:
development:
adapter: postgresql
encoding: unicode
database: mydb_development
pool: 5
username: postgres
password: postgres
test:
adapter: postgresql
encoding: unicode
database: mydb_test
pool: 5
username: postgres
password: postgres
production:
adapter: postgresql
encoding: unicode
database: mydb_production
pool: 5
username: postgres
password: postgres
现在,当我运行命令时rake db:migrate
,出现以下错误:
rake aborted!
FATAL: Peer authentication failed for user "postgres"
我尝试将 host: localhost 添加到每个环境的 database.yml 中,但出现以下错误:
rake aborted!
couldn't parse YAML at line 28 column 0
第 28 行是
development:
adapter: postgresql
encoding: unicode
database: hackathonio_development
pool: 5
username: postgres
password: testing
host: localhost {This is line 28}
请帮我找出解决方案。