如何为本地Rails项目设置Postgres数据库?

我最近得到了一台新机器,现在想从Github上开展我的项目。 我很好奇如何正确设置我的本地机器上的Postgres数据库。 我在Ubuntu(12.04)上安装了postgresqlpgadmin3libpq-dev

我拉下了这个项目:

git clone https://github.com/thebenedict/cowsnhills.git

并运行:

bundle

当我运行:

rake db:create && rake db:schema:load

我得到这个错误:

 rake db:create && rake db:schema:load FATAL: password authentication failed for user "cnh" FATAL: password authentication failed for user "cnh" .... 

config/database.yml文件如下所示:

 development: adapter: postgresql encoding: unicode host: localhost database: cnh_development pool: 5 username: cnh password: cnh test: adapter: postgresql encoding: unicode host: localhost database: cnh_test pool: 5 username: cnh password: cnh production: adapter: postgresql encoding: unicode host: localhost database: cnh_production pool: 5 username: cnh password: cnh 

设置Postgres数据库的正确方法是什么,所以我可以在本地机器上运行这个项目?

现在,当我启动Rails服务器时,我得到:

在这里输入图像说明

首先,安装postgresql

 sudo add-apt-repository ppa:pitti/postgresql sudo apt-get update #now install postgresql sudo apt-get install postgresql-9.1 libpq-dev 

在psql中创建一个新的用户

 sudo su postgres createuser user_name #Shall the new role be a superuser? (y/n) y 

的Gemfile

 #gem 'mysql2' gem 'pg' 

捆绑安装

development.yml

 development: adapter: postgresql database: app_development pool: 5 username: user_name password: 

当我找到相同的答案时,我遇到了你的问题。 我试图按照@ prasad.surase给你的指示。 我发现的问题是ppa资料库在12.04 LTS即将贬值。 相反,我发现这个链接,它真的帮助。

PostgreSQL安装在Ubuntu 12.04的Rails开发

  1. 通过包管理器安装postgresql和管理工具

     sudo apt-get install postgresql libpq-dev phppgadmin pgadmin3 
  2. 以postgres用户身份登录到postgresql提示符

     sudo su postgres -c psql 
  3. 为您的项目创建一个postgresql用户

     create user username with password 'password'; 
  4. 使用与Ubuntu用户相同的名称和密码设置你的postgres用户,并让他成为postgres超级用户

     alter user username superuser; 
  5. 创建开发和测试数据库

     create database projectname_development; create database projectname_test; 
  6. 为数据库上的用户授予权限

     grant all privileges on database projectname_development to username; grant all privileges on database projectname_test to username; 

结束postgresql会话类型\q

更新用户的密码

 alter user username with password 'new password'; 

你可以按照这个链接http://www.cyberciti.biz/faq/howto-add-postgresql-user-account/

创建一个postgres用户并替换database.yml中的凭证