rails預設內建了個零配置的sqlite、這個做為開發還OK、不過不能並發寫入的特性不適合作為生產使用、從頭開始說吧
P.S.:以下基於ubuntu server部署postgresql
=============安裝postgresql並啟動===============
首先在ubuntu下安裝postgresql吧
sudo apt-get install postgresql
然後啟動postgresql伺服器
sudo /etc/init.d/postgresql-8.4 start
10.04下安裝的postgresql預設是8.4,若是10.10,則不用加版本號碼
如果想停止將start改成stop就可以了
=============配置postgresql===============
postgresql預設只有一個使用者、就是postgres、所以只能切換成這個使用者登入
sudo su postgres -c psql template1
然後更改postgres的密碼
ALTER USER postgres WITH PASSWORD 'newpassword';
再設定postgres的系統密碼
sudo passwd postgres
然後建立使用者資料庫、postgresql會預設為每個使用者自建一個使用者資料庫、
createdb
createdb是建立資料庫的命令、後面可以加上資料庫的名稱、如果不加上任何參數、那麼就是預設與目前使用者名同名的資料庫名稱、
建立完資料庫後就用psql daname來進入postgresql控制台來進行各種操作、這部分就不再複述了、可以參看相關資料:http://www.cnblogs.com/klobohyz/archive/2012/01/04/2311834.html
================配置rails項目==========================
首先當然是產生一個rails項目、或者邇已經存在rails項目現在想更改成postgresql都可以、首先修改專案檔中的Gemfile、然後添加這麼一行
gem 'pg'
再執行一次bundle install
執行完畢後就安裝好了postgresql的ruby組件了、現在開始配置一下rails項目中的config/database.yaml
1 development:
2 adapter: postgresql
3 encoding: unicode
4 database: herkurails_development
5 username: root
6 password: 123qwe
7 pool: 5
8 timeout: 5000
9
10 # Warning: The database defined as "test" will be erased and
11 # re-generated from your development database when you run "rake".
12 # Do not set this db to the same as development or production.
13
14 test:
15 adapter: postgresql
16 encoding: unicode
17 database: herkurails_test
18 username: root
19 password: 123qwe
20 pool: 5
21 timeout: 5000
22
23
24 production:
25 adapter: postgresql
26 encoding: unicode
27 database: herkurails_production
28 username: root
29 pool: 5
30 password: root
31 timeout: 5000
當然了、其中的password和username要更改成邇的postgresql使用者名稱、上面的database參數就是postgresql的資料庫名稱、必須先要去postgresql那裡去建立這些資料庫先、不要指望rake會自動幫邇建立、使用設定檔中指定的使用者依次使用createdb dbname來建立上面的資料庫吧、建立完畢後、就回到rails項目中、執行rake db:migrate來更改rails對資料庫的操作吧、注意執行rake命令的目前使用者一定是要username中指定的使用者、不然會執行失敗、
P.S.:如果邇不想以預設的使用者、就要使用createuser username來添加使用者、然後為它添加密碼、
ALTER USER username WITH PASSWORD 'new password'
然後用這個號碼來登入ubuntu來執行以上操作、最好使用系統已經存在的帳戶、如果不是就要自己建立同名的系統帳戶