Mac OS上安裝PostgreSQL的教程
容我開(kāi)頭啰嗦一下。一直以來(lái),我和 MySQL 這位久經(jīng)考驗(yàn)的老朋友合作愉快。但自從了解了一點(diǎn) PostgreSQL 后, 對(duì)其豐富的功能特性就十分著迷。比如字段類(lèi)型原生支持 json, xml 和 array。跟 MySQL 比起來(lái),感覺(jué) PostgreSQL 更高級(jí)一些。
安裝brew
官方文檔:
http://mxcl.github.com/homebrew/
先安裝Git,打開(kāi)一個(gè)shell:
cd /usr/local sudo mkdir homebrew curl -L https://github.com/mxcl/homebrew/tarball/master | sudo tar xz --strip 1 -C homebrew cd homebrew/bin ./brew -v file brew cat brew | moresudo ./brew update
如果“brew update”命令執(zhí)行出錯(cuò),請(qǐng)確保文件夾/usr/local的所有者權(quán)限是你本人而不是root:
sudo chown $USER /usr/localbrew updat
在".bash_profile"中更新路徑配置
(如果~下沒(méi)有文件".bash_profile" 請(qǐng)執(zhí)行: touch '.bash_profile' )
vim '.bash_profile'
加入
export PATH=$PATH:/usr/local/homebrew/bin
之后可以直接執(zhí)行brew(不用./brew)
如果有了Git可以這樣安裝(未測(cè)試)
git clone https://github.com/mxcl/homebrew.git cd homebrew/bin cd homebrew/bin ./brew -v
安裝測(cè)試
./brew install wget ./brew uninstall wget ./brew searc /apache*/
安裝PostgreSQL
使用 brew 一句搞定。
brew install postgres
初始化數(shù)據(jù)庫(kù)
initdb /usr/local/var/postgres
啟動(dòng)或停止數(shù)據(jù)庫(kù)
啟動(dòng)服務(wù):
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
停止服務(wù):
pg_ctl -D /usr/local/var/postgres stop -s -m fast
如果先嫌麻煩,可以加入開(kāi)機(jī)自動(dòng)啟動(dòng)
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
常用操作
1.創(chuàng)建一個(gè) PostgreSQL 用戶
createuser username -P #Enter password for new role: #Enter it again:
上面的 username 是用戶名,回車(chē)輸入 2 次用戶密碼后即用戶創(chuàng)建完成。更多用戶創(chuàng)建信息可以 "createuser --help" 查看。
2.創(chuàng)建數(shù)據(jù)庫(kù)
createdb dbname -O username -E UTF8 -e
上面創(chuàng)建了一個(gè)名為 dbname 的數(shù)據(jù)庫(kù),并指定 username 為改數(shù)據(jù)庫(kù)的擁有者(owner),數(shù)據(jù)庫(kù)的編碼(encoding)是 UTF8,參數(shù) "-e" 是指把數(shù)據(jù)庫(kù)執(zhí)行操作的命令顯示出來(lái)。
更多數(shù)據(jù)庫(kù)創(chuàng)建信息可以 "createdb --help" 查看。
3.連接數(shù)據(jù)庫(kù)
psql -U username -d dbname -h 127.0.0.1
心得體會(huì)
還在學(xué)習(xí)中,大致覺(jué)得跟 MySQL 區(qū)別不大,都是執(zhí)行標(biāo)準(zhǔn)的 SQL 語(yǔ)句。目前就發(fā)現(xiàn) limit 語(yǔ)句跟 MySQL 有區(qū)別。比如 MySQL 中取前 10 條記錄:
select * from table limit 0, 10
而在 PostgreSQL 中則是:
select * from table limit 10 offset 0
這樣一看,倒覺(jué)得 PostgreSQL 的看起來(lái)更清晰一些。MySQL 中的 offset 是可選項(xiàng),熟悉了以后用起來(lái)無(wú)妨,剛開(kāi)始學(xué)時(shí)就很容易會(huì)分不清 offset 和 limit 值的位置。
相關(guān)文章
postgreSQL數(shù)據(jù)庫(kù) 實(shí)現(xiàn)向表中快速插入1000000條數(shù)據(jù)
這篇文章主要介紹了postgreSQL數(shù)據(jù)庫(kù) 實(shí)現(xiàn)向表中快速插入1000000條數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12PostgreSQL將數(shù)據(jù)加載到buffer cache中操作方法
這篇文章主要介紹了PostgreSQL將數(shù)據(jù)加載到buffer cache中,我們可以使用pg_prewarm插件來(lái)將指定的表加載到OS Buffer或者pg shared buffer中,具體操作方法跟隨小編一起看看吧2021-04-04postgresql中wal_level的三個(gè)參數(shù)用法說(shuō)明
這篇文章主要介紹了postgresql中wal_level的三個(gè)參數(shù)用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12postgresql數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃圖文詳解
了解PostgreSQL執(zhí)行計(jì)劃對(duì)于程序員來(lái)說(shuō)是一項(xiàng)關(guān)鍵技能,執(zhí)行計(jì)劃是我們優(yōu)化查詢,驗(yàn)證我們的優(yōu)化查詢是否確實(shí)按照我們期望的方式運(yùn)行的重要方式,這篇文章主要給大家介紹了關(guān)于postgresql數(shù)據(jù)庫(kù)執(zhí)行計(jì)劃的相關(guān)資料,需要的朋友可以參考下2024-01-01Postgresql 數(shù)據(jù)庫(kù)權(quán)限功能的使用總結(jié)
這篇文章主要介紹了Postgresql 數(shù)據(jù)庫(kù)權(quán)限功能的使用總結(jié),具有很好的參考價(jià)值,對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02Postgresql 實(shí)現(xiàn)查詢一個(gè)表/所有表的所有列名
這篇文章主要介紹了Postgresql 實(shí)現(xiàn)查詢一個(gè)表/所有表的所有列名,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12Postgresql 賦予用戶權(quán)限和撤銷(xiāo)權(quán)限的實(shí)例
這篇文章主要介紹了Postgresql 賦予用戶權(quán)限和撤銷(xiāo)權(quán)限的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01