2012-06-19 161 views

回答

163

這裏是我遵循的步驟:

安裝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在app目錄

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 WITH PASSWORD'yourpassword>'然後顯然將你的密碼加入到database.yml中 – Hengjie

+9

或者,如果你只是創建第一個角色時間,並且還想輸入密碼:'CREATE ROLE SUPERUSER LOGIN PASSWORD'<你rpassword>';' – Hengjie

+0

如果您將用戶設置爲與您的unix用戶名相同,即使沒有密碼,這是否安全?基於,例如,上面的mrfrosti.com鏈接,以及Heroku的Postgress.app,似乎這通常是建議的路線。 –

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 

因爲Ubuntu 13.10沒有官方的Postgres倉庫。

然後創建用戶爲Nick解釋(你可以指定一個密碼太):

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

注:更換gotqn以上whoami結果:

enter image description here

的最簡單方法創建您的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服務器。