Установка PostgreSQL в Ubuntu для Ruby on Rails

71

В настоящее время у меня Ruby on Rails, установленный через RVM в Ubuntu 12.04. База данных по умолчанию настроена в SQLite3, но я хотел бы перейти на PostgreSQL для целей нажатия на Heroku. Как я могу это сделать?

Теги:
heroku

3 ответа

171
Лучший ответ

Вот шаги, которые я выполнил:

Установить PostgreSQL и пакет разработки

$ sudo apt-get install postgresql
$ sudo apt-get install libpq-dev

Настройте пользователя, который является таким же, как мой вход в систему Ubuntu

$ sudo su postgres -c psql
postgres=# CREATE ROLE <username> SUPERUSER LOGIN;
postgres=# \q

Изменить Gemfile

# Remove gem 'sqlite3'
gem 'pg'

Измените database.yml в каталоге приложения

development:
  adapter: postgresql
  encoding: unicode
  database: appname_development
  pool: 5
  timeout: 5000
  username: <username>
  password:

test:
  adapter: postgresql
  encoding: unicode
  database: appname_test
  pool: 5
  timeout: 5000
  username: <username>
  password:

Запустить пакетную установку

$ bundle install

Создание баз данных и миграций

$ rake db:create:all
$ rake db:migrate

Вот источники, которые я использовал, чтобы помочь:
http://mrfrosti.com/2011/11/postgresql-for-ruby-on-rails-on-ubuntu/
http://railscasts.com/episodes/342-migrating-to-postgresql
https://devcenter.heroku.com/articles/local-postgresql

  • 14
    Если вы хотите добавить пароль, используйте эту команду после запуска CREATE ROLE : ALTER ROLE <username> WITH PASSWORD '<yourpassword>'; затем, очевидно, добавьте свой пароль в database.yml
  • 9
    В качестве альтернативы, если вы просто создаете роль в первый раз и хотите также ввести пароль: CREATE ROLE <username> SUPERUSER LOGIN PASSWORD '<yourpassword>';
Показать ещё 9 комментариев
6

Для всех пользователей Ubuntu 13.10, которые открывают этот поток, выполните следующие шаги, чтобы установить postresql:

sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-common -t saucy
sudo apt-get install postgresql-9.2 libpq-dev

поскольку нет официального репозитория Postgres для Ubuntu 13.10.

Затем создайте пользователя как Nick explain (вы также можете указать пароль):

sudo su postgres -c psql
postgres=# CREATE ROLE gotqn SUPERUSER LOGIN;
postgres=# \password gotqn
postgres=# \q

Примечание. Замените gotqn выше результатом whoami:

Изображение 3939

Самый простой способ создать ваше приложение rails - указать, что вы используете postgresql следующим образом:

rails new Demo -d postgresql

Приведенный выше код автоматически добавит камень pg в ваш GemFile и создаст соответствующий файл database.yml:

development:
  adapter: postgresql
  encoding: unicode
  database: Demo_development
  pool: 5
  username: gotqn
  password: mypass

Примечание: вам нужно изменить имя пользователя и указать правильный пароль, если вы его установили.

Затем запустите rake db:create и запустите сервер rails.

2

sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ exact-pgdg main' > /etc/apt/sources.list.d/pgdg.list"

wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -

Обновление sudo apt-get

sudo apt-get install postgresql-common

sudo apt-get install postgresql-9.3 libpq-dev

Сообщество Overcoder
Наверх
Меню