容我開頭囉嗦一下。一直以來,我和 MySQL 這位久經考驗的老朋友合作愉快。但自從瞭解了一點 PostgreSQL 後, 對其豐富的功能特性就十分著迷。比如欄位類型原生支援 json, xml 和 array。跟 MySQL 比起來,感覺 PostgreSQL 更進階一些。
安裝brew
官方文檔:
http://mxcl.github.com/homebrew/
先安裝Git,開啟一個shell:
cd /usr/localsudo mkdir homebrewcurl -L https://github.com/mxcl/homebrew/tarball/master | sudo tar xz --strip 1 -C homebrewcd homebrew/bin./brew -vfile brewcat brew | moresudo ./brew update
如果“brew update”命令執行出錯,請確保檔案夾/usr/local的所有者許可權是你本人而不是root:
sudo chown $USER /usr/localbrew updat
在".bash_profile"中更新路徑配置
(如果~下沒有檔案".bash_profile" 請執行: touch '.bash_profile' )
加入
export PATH=$PATH:/usr/local/homebrew/bin
之後可以直接執行brew(不用./brew)
如果有了Git可以這樣安裝(未測試)
git clone https://github.com/mxcl/homebrew.gitcd homebrew/bincd homebrew/bin./brew -v
安裝測試
./brew install wget./brew uninstall wget./brew searc /apache*/
安裝PostgreSQL
使用 brew 一句搞定。
初始化資料庫
initdb /usr/local/var/postgres
啟動或停止資料庫
啟動服務:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
停止服務:
pg_ctl -D /usr/local/var/postgres stop -s -m fast
如果先嫌麻煩,可以加入開機自動啟動
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
常用操作
1.建立一個 PostgreSQL 使用者
createuser username -P#Enter password for new role:#Enter it again:
上面的 username 是使用者名稱,斷行符號輸入 2 次使用者密碼後即使用者建立完成。更多使用者建立資訊可以 "createuser --help" 查看。
2.建立資料庫
createdb dbname -O username -E UTF8 -e
上面建立了一個名為 dbname 的資料庫,並指定 username 為改資料庫的擁有者(owner),資料庫的編碼(encoding)是 UTF8,參數 "-e" 是指把資料庫執行操作的命令顯示出來。
更多資料庫建立資訊可以 "createdb --help" 查看。
3.串連資料庫
psql -U username -d dbname -h 127.0.0.1
心得體會
還在學習中,大致覺得跟 MySQL 區別不大,都是執行標準的 SQL 陳述式。目前就發現 limit 語句跟 MySQL 有區別。比如 MySQL 中取前 10 條記錄:
select * from table limit 0, 10
而在 PostgreSQL 中則是:
select * from table limit 10 offset 0
這樣一看,倒覺得 PostgreSQL 的看起來更清晰一些。MySQL 中的 offset 是可選項,熟悉了以後用起來無妨,剛開始學時就很容易會分不清 offset 和 limit 值的位置。