Как настроить базу данных Postgres для локального проекта Rails?
Недавно я получил новую машину и теперь буду работать над своими проектами из Github. Мне любопытно, как правильно настроить базу данных Postgres на моем локальном компьютере. У меня есть postgresql
, pgadmin3
и libpq-dev
, установленные на Ubuntu (12.04).
Я вытаскиваю проект:
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]()
Ответы
Ответ 1
во-первых, установите 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 'pg'
комплектация
development.yml development:
adapter: postgresql
database: app_development
pool: 5
username: user_name
password:
Ответ 2
Я искал ваш вопрос, когда искал тот же ответ. Я попытался следовать инструкциям @prasad.surase дал вам. Проблема, которую я нашел, - это репозиторий ppa, который скоро будет обесцениваться 12.04 LTS. Вместо этого я нашел эту ссылку, и это действительно помогло.
Настройка PostgreSQL для разработки Rails в Ubuntu 12.04
-
Установите средства postgresql и администратора через диспетчер пакетов
sudo apt-get install postgresql libpq-dev phppgadmin pgadmin3
-
Войдите в postgresql как пользователь postgres
sudo su postgres -c psql
-
Создайте пользователя postgresql для своего проекта
create user username with password 'password';
-
Настройте пользователя postgres с тем же именем и паролем, что и пользователь Ubuntu, и сделайте его суперпользователем postgres
alter user username superuser;
-
Создайте базы данных разработки и тестирования
create database projectname_development;
create database projectname_test;
-
Предоставление пользователям прав доступа к базам данных
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’;
Ответ 3
Вы следуете по этой ссылке http://www.cyberciti.biz/faq/howto-add-postgresql-user-account/
чтобы создать пользователя postgres и заменить учетные данные в database.yml