当前位置: 首页>>技术教程>>正文


在Ubuntu上为Ruby on Rails安装PostgreSQL

, , , ,

问题描述

我目前在Ubuntu 12.04中通过RVM安装了Ruby on Rails。默认数据库是在SQLite3中设置的,但是为了推送到Heroku,我想切换到PostgreSQL。我怎么能做到这一点?

最佳解决办法

以下是我遵循的步骤:

安装PostgreSQL和开发包

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

设置与我的Ubuntu log-in相同的用户

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

修改Gemfile

# Remove gem 'sqlite3'
gem 'pg'

修改app目录中的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

次佳解决办法

对于打开此主题的所有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

因为没有Ubuntu 13.10的官方Postgres存储库。

然后将用户创建为Nick说明(您也可以指定密码):

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

注意:用whoami结果替换上面的gotqn

ruby-on-rails,ruby,postgresql,ubuntu,heroku

创建rails应用程序的最简单方法是指定您使用postgresql,如下所示:

rails new Demo -d postgresql

上面的代码将自动在GemFile中添加pg gem并创建相应的database.yml文件:

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

注意:如果已设置,则需要更改用户名并指定正确的密码。

然后运行rake db:create并启动rails服务器。

第三种解决办法

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添加 –

sudo apt-get更新

sudo apt-get安装postgresql-common

sudo apt-get安装postgresql-9.3 libpq-dev

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6627.html,未经允许,请勿转载。