Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I recently got a new machine and would now like to work on my projects from github. I'm curious as to how to properly set up the postgres database on my local machine. I have postgresql, pgadmin3 and libpq-dev installed on Ubuntu 12.04

I pull down the project: git clone https://github.com/thebenedict/cowsnhills.git

run bundle

When I run rake db:create && rake db:schema:load

I get the error:

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

The config/database.yml file looks like this:

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

What's the proper way to set up the postgres database so I can run this project on my local machine?

Right now when I start the rails server I get

enter image description here

share|improve this question
add comment

3 Answers

up vote 1 down vote accepted

firstly, install postgresql

sudo add-apt-repository ppa:pitti/postgresql
sudo apt-get update

#now instal postgresql
sudo apt-get install postgresql-9.1 libpq-dev

create a new user in psql

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

in Gemfile

#gem 'mysql2'
gem 'pg'

and bundle install

in development.yml

development:
  adapter: postgresql
  database: app_development
  pool: 5
  username: user_name
  password:
share|improve this answer
 
I also had to create database app_development owner user_name; and then alter user_name password 'password'; –  Connor Leech Nov 13 '13 at 13:08
1  
no need to do it that way. use rake db:create, rake db:migrate . u can simply do rake db:setup to create and migrate. –  prasad.surase Nov 13 '13 at 13:14
add comment

You follow this link http://www.cyberciti.biz/faq/howto-add-postgresql-user-account/

to create a postgres user and replace the credentials in database.yml

share|improve this answer
add comment

I came across your question when looking for the same answer. I attempted to follow the instructions @prasad.surase gave you. The problem I found is the ppa repository is going to depreciate soon on 12.04 LTS. Instead I found this link and it really helped.

PostgreSQL setup for Rails development in Ubuntu 12.04

  1. Install postgresql and admin tools through the package manager

    sudo apt-get install postgresql libpq-dev phppgadmin pgadmin3
    
  2. Login to postgresql prompt as the postgres user

    sudo su postgres -c psql 
    
  3. Create a postgresql user for your project

    create user username with password 'password';
    
  4. Setup your postgres user with the same name and password as your Ubuntu user and make him a postgres superuser

    alter user username superuser; 
    
  5. Create the development and test databases

    create database projectname_development;
    create database projectname_test; 
    
  6. Give permissions to the user on the databases

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

To end the postgresql session type \q

Update password for the user

alter user username with password ‘new password’;
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.