在Ubuntu上为Ruby on Rails安装PostgreSQL

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

以下是我遵循的步骤:

安装PostgreSQL和开发包

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

设置一个和我的Ubuntulogin一样的用户

 $ 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 

创build数据库和迁移

 $ 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仓库。

然后创build用户Nick解释(你也可以指定一个密码):

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

注意:用whoami结果replace上面的gotqn

在这里输入图像说明

创build你的rails应用程序最简单的方法是指定你正在使用postgresql ,如下所示:

 rails new Demo -d postgresql 

上面的代码会自动在您的GemFile添加pg gem并创build相应的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 add –

sudo apt-get update

sudo apt-get install postgresql-common

sudo apt-get install postgresql-9.3 libpq-dev