23

Недавно я получил новую машину и теперь буду работать над своими проектами из Github. Мне любопытно, как правильно настроить базу данных Postgres на моем локальном компьютере. У меня есть postgresql, pgadmin3 и libpq-dev установлен на Ubuntu (12.04).Как настроить базу данных Postgres для локального проекта Rails?

Я спустить проект:

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 я получаю:

enter image description here

ответ

17
во-первых , установите 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: 
+0

Я также должен был 'создать базу данных владельца app_development user_name;' а затем 'изменить user_name пароль 'пароль' ; ' –

+1

не нужно делать так. использовать rake db: create, rake db: migrate. u может просто сделать rake db: setup для создания и миграции. –

+0

выполните createuser с '-W', чтобы вызвать запрос пароля' createuser -s -W user_name'. В противном случае он может не просить вас об этом, и вам придется впоследствии установить его с помощью оператора 'ALTER' –

45

Я наткнулся на ваш вопрос, ища тот же ответ. Я попытался следовать инструкциям @ prasad.surase дал вам. Проблема, которую я нашел, - это репозиторий ppa, который скоро будет обесцениваться 12.04 LTS. Вместо этого я нашел эту ссылку, и это действительно помогло.

PostgreSQL setup for Rails development in Ubuntu 12.04

  1. Установка PostGreSQL и администратора инструментов через менеджер пакетов

    sudo apt-get install postgresql libpq-dev phppgadmin pgadmin3 
    
  2. Войти в PostGreSQL подскажите как пользователь Postgres

    sudo su postgres -c psql 
    
  3. Создайте пользователя PostGreSQL для ваш проект

    create user username with password 'password'; 
    
  4. Настройте Postgres пользователя с таким же именем и паролем, как ваш пользователь Ubuntu и сделать его 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’; 

 Смежные вопросы

  • Нет связанных вопросов^_^