How to set up Postgres database for local Rails project?

42,427

Solution 1

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

#now install 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
Gemfile
gem 'pg'

bundle install

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

Solution 2

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’;

Solution 3

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:
42,427
Connor Leech
Author by

Connor Leech

Updated on January 18, 2020

Comments

  • Connor Leech
    Connor Leech over 4 years

    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

    and run:

    bundle.

    When I run:

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

    I get this 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

  • Connor Leech
    Connor Leech over 10 years
    I also had to create database app_development owner user_name; and then alter user_name password 'password';
  • prasad.surase
    prasad.surase over 10 years
    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.
  • Axel Tetzlaff
    Axel Tetzlaff almost 9 years
    execute createuser with -W to force a password prompt createuser -s -W user_name. Otherwise it may not ask you for one und you will have to set it afterwards with the ALTER-Statement