簡(jiǎn)單介紹:Mac 上安裝和使用PostgreSQL的方法

兩句話概括:

  1. 網(wǎng)絡(luò)上的文檔添寺,因?yàn)楦髯缘呐渲铆h(huán)境不同趴拧,所以可以用來(lái)參考,但不一定對(duì)自己適用山叮;
  2. 官網(wǎng)文檔要稍稍權(quán)威一點(diǎn)著榴,介紹的要全面一點(diǎn),今天深有感觸屁倔;

簡(jiǎn)介

1.PostgreSQL: 是以加州大學(xué)伯克利分校計(jì)算機(jī)系開(kāi)發(fā)的 POSTGRES脑又,現(xiàn)在已經(jīng)更名為PostgreSQL,版本 4.2為基礎(chǔ)的對(duì)象關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(ORDBMS)锐借。PostgreSQL支持大部分 SQL標(biāo)準(zhǔn)并且提供了許多其他現(xiàn)代特性:復(fù)雜查詢问麸、外鍵觸發(fā)器钞翔、視圖严卖、事務(wù)完整性、MVCC布轿。同樣哮笆,PostgreSQL 可以用許多方法擴(kuò)展,比如汰扭, 通過(guò)增加新的數(shù)據(jù)類型稠肘、函數(shù)、操作符萝毛、聚集函數(shù)项阴、索引。免費(fèi)使用笆包、修改环揽、和分發(fā) PostgreSQL,不管是私用庵佣、商用薯演、還是學(xué)術(shù)研究使用。

2.psql: 是PostgreSQL數(shù)據(jù)庫(kù)的命令行交互工具

3.pgAdmin: 是PostgreSQL數(shù)據(jù)庫(kù)的圖形化管理工具

參考文獻(xiàn)

老習(xí)慣秧了,列出本文參考和引用的文檔和博客跨扮,致以崇高的敬意,感興趣的可以去看看
1.http://postgresapp.com/
2.http://postgresapp.com/documentation/cli-tools.html
3.http://www.yiibai.com/postgresql/2013080439.html

1.正文

公司項(xiàng)目連的都是遠(yuǎn)程數(shù)據(jù)庫(kù)验毡,安全起見(jiàn)衡创,我還是弄個(gè)本地?cái)?shù)據(jù)庫(kù),方便自己搗騰數(shù)據(jù)和后續(xù)的學(xué)習(xí)晶通;
以前在linux(ubuntu 14.04)上璃氢,裝過(guò)PostgreSql,還算熟悉。

1.1 安裝postgresql

今天打算在Mac上安裝PostgreSql以及它的圖形化管理工具PgAdmin狮辽,方便對(duì)數(shù)據(jù)的查看和管理一也。
在Mac上安裝PostgreSql巢寡,網(wǎng)絡(luò)上很多方法都是通過(guò)homebrew來(lái)安裝,命令也很簡(jiǎn)單

brew install postgresql 

但是好像還有另一種方法椰苟,就是使用官網(wǎng)提供的Postgres.app抑月,
號(hào)稱是:The easiest way to get started with PostgreSQL on the Mac。
看到這條口號(hào)舆蝴,是不是有點(diǎn)心動(dòng)谦絮,按照官網(wǎng)的提示來(lái):

Quick Installation Guide
1.Download
2.Move to /Applications
3.Double Click

Done! You now have a PostgreSQL server running on your Mac. 
To use the command line programs, set up your $PATH. 
If you prefer a graphical app, check out the list of GUI tools.

If you get an error saying “the identity of the developer cannot be confirmed”, 
please make sure you didn’t skip step 2. (more info)

安裝好運(yùn)行,界面如下洁仗,非常簡(jiǎn)潔层皱,點(diǎn)擊Preferences可以看數(shù)據(jù)文件夾路徑;


Paste_Image.png

點(diǎn)擊Open psql赠潦,按照以前在linux上安裝PostgreSql的經(jīng)驗(yàn)叫胖,安裝好后,應(yīng)該自動(dòng)創(chuàng)建了一個(gè)postgres系統(tǒng)用戶 和一個(gè) postgres數(shù)據(jù)庫(kù)用戶(具有數(shù)據(jù)庫(kù)管理權(quán)限)她奥,并且psql命令應(yīng)該會(huì)默認(rèn)使用postgres數(shù)據(jù)庫(kù)用戶 連接數(shù)據(jù)庫(kù)瓮增。然而實(shí)際情況是這樣:


Paste_Image.png

可以看到,psql命令執(zhí)行后方淤,卻使用了atyun系統(tǒng)用戶來(lái)連接數(shù)據(jù)庫(kù)钉赁。
于是我推測(cè)蹄殃,postgres系統(tǒng)用戶 可能沒(méi)有創(chuàng)建成功(atyun是我這臺(tái)電腦的管理員賬號(hào))携茂。直接進(jìn)[系統(tǒng)偏好設(shè)置]->[用戶與群組]查看是否有新增postgres用戶,事實(shí)證明诅岩,并沒(méi)有創(chuàng)建成功讳苦。

還能怎么辦,自己手動(dòng)創(chuàng)建吧:
我們創(chuàng)建一個(gè)postgres系統(tǒng)用戶吩谦,密碼自己創(chuàng)一個(gè)鸳谜,賦予管理員權(quán)限,創(chuàng)建好之后式廷,如下:


補(bǔ)充:之前沒(méi)有自動(dòng)創(chuàng)建postgres系統(tǒng)用戶 成功的原因,我猜測(cè)可能是Mac的安全機(jī)制,
更改之前辜羊,要求我點(diǎn)擊鎖按鈕寂屏。

Paste_Image.png

很有可能是這個(gè)原因?qū)е掳惭bPostgreSql后,沒(méi)有自動(dòng)成功的創(chuàng)建出postgres系統(tǒng)用戶蠕趁。
有了postgres系統(tǒng)用戶我們來(lái)試一下 使用psql命令來(lái)連接數(shù)據(jù)庫(kù)薛闪。

$ psql

問(wèn)題出現(xiàn):

command not found

原因是psql工具的絕對(duì)路徑?jīng)]有加載到 bash((default shell on OS X))的環(huán)境路徑$PATH中。
在之前使用postgres.app ->open psql的時(shí)候俺陋,我們看到了 psql所在的絕對(duì)路徑為:

/Applications/Postgres.app/Contents/Versions/9.5/bin/

1.2 配置我們的環(huán)境路徑

Configure your $PATH 配置我們的環(huán)境路徑(關(guān)于在mac上配置環(huán)境變量path, 這個(gè)和windows上還是挺有差異的豁延,后面會(huì)整理一篇文檔來(lái)介紹下

Postgres.app includes many command line tools. If you want to use them, you must configure the $PATH variable.
If you are using bash (default shell on OS X), add the following line to ~/.bash_profile:

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.5/bin

If you’re using the fish shell, add the following to your config.fish (normally located at ~/.config/fish/config.fish):

set PATH /Applications/Postgres.app/Contents/Versions/9.5/bin $PATH

Tips 1: You can now check if the path is set up correctly by typing which psql.
可以使用 which psql 命令 查看該工具的絕對(duì)路徑昙篙;
結(jié)果如下圖:

1.3 切換用戶,使用psql連接數(shù)據(jù)庫(kù)

可以發(fā)現(xiàn)诱咏,psql連接數(shù)據(jù)庫(kù)默認(rèn)選用的是當(dāng)前的系統(tǒng)用戶苔可;
切換其他系統(tǒng)用戶命令(會(huì)要求你輸入密碼,之前我們?cè)O(shè)置過(guò))胰苏,然后登錄數(shù)據(jù)庫(kù),發(fā)現(xiàn)會(huì)使用postgres用戶訪問(wèn)數(shù)據(jù)庫(kù)硕蛹。

su postgres
psql

至此,我們學(xué)會(huì)了如何切換系統(tǒng)用戶硕并,以及通過(guò)psql訪問(wèn)連接數(shù)據(jù)庫(kù)法焰;下面介紹如何使用PostgreSql的基礎(chǔ)用法:(創(chuàng)建、刪除)數(shù)據(jù)庫(kù)用戶倔毙,修改用戶密碼埃仪,(創(chuàng)建、刪除)數(shù)據(jù)庫(kù)陕赃,創(chuàng)建數(shù)據(jù)庫(kù)表卵蛉;

2 使用PostgreSQL

2.1 修改用戶密碼

因?yàn)镻ostgreSQL自動(dòng)創(chuàng)建了postgres數(shù)據(jù)庫(kù)用戶(默認(rèn)密碼應(yīng)該是空的),所以我們首先要修改它的密碼么库,使用psql命令連接數(shù)據(jù)庫(kù)傻丝,再使用如下命令,修改該postgres數(shù)據(jù)庫(kù)用戶的密碼(“XXXXXX”可由用戶自定義):

alter user postgres with password 'XXXXXX';

結(jié)果如下:


Paste_Image.png

出現(xiàn)ALTER ROLE, 代表修改角色成功诉儒;

2.2 創(chuàng)建和刪除數(shù)據(jù)庫(kù)用戶

對(duì)應(yīng)命令如下(在postgres=# 環(huán)境下):
1.查看數(shù)據(jù)庫(kù)用戶列表: \du
2.創(chuàng)建數(shù)據(jù)庫(kù)用戶: create user user1 with password '123456';
3.刪除數(shù)據(jù)庫(kù)用戶: drop user user1;
相應(yīng)結(jié)果見(jiàn)下圖:

2.3 創(chuàng)建和刪除 數(shù)據(jù)庫(kù)

對(duì)應(yīng)命令如下(在postgres=# 環(huán)境下):
1.查看數(shù)據(jù)庫(kù)列表: \l (list的意思)
2.創(chuàng)建數(shù)據(jù)庫(kù): create database db1;
3.刪除數(shù)據(jù)庫(kù): drop database db1;

Paste_Image.png

解釋:初始有4個(gè)數(shù)據(jù)庫(kù)葡缰,數(shù)據(jù)庫(kù)atyun隸屬于atyun數(shù)據(jù)庫(kù)用戶,其他三個(gè)數(shù)據(jù)庫(kù)隸屬于postgres數(shù)據(jù)庫(kù)用戶忱反;

2.4 創(chuàng)建和刪除 數(shù)據(jù)庫(kù)表

對(duì)應(yīng)命令如下(在postgres=# 環(huán)境下):
1.選擇數(shù)據(jù)庫(kù): \c DatabaseName (choose的意思)
2.創(chuàng)建數(shù)據(jù)庫(kù)表: create table people;
3.刪除數(shù)據(jù)庫(kù)表: drop table people;
4.查看數(shù)據(jù)庫(kù)信息:\d (database list的意思)

Paste_Image.png

3 使用pgAdmin圖形化管理數(shù)據(jù)庫(kù)

1. 運(yùn)行pgAdmin泛释,打開(kāi),創(chuàng)建連接

Paste_Image.png

2.填寫(xiě)相關(guān)配置信息:

Paste_Image.png

Paste_Image.png

點(diǎn)擊save温算,進(jìn)行保存怜校。
Paste_Image.png

3. 查看
在db1/Schemas/public/Tables/下可以看到我們剛才創(chuàng)建的 數(shù)據(jù)表(department).
Paste_Image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市注竿,隨后出現(xiàn)的幾起案子茄茁,更是在濱河造成了極大的恐慌,老刑警劉巖巩割,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件裙顽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡喂分,警方通過(guò)查閱死者的電腦和手機(jī)锦庸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蒲祈,“玉大人甘萧,你說(shuō)我怎么就攤上這事萝嘁。” “怎么了扬卷?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵牙言,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我怪得,道長(zhǎng)咱枉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任徒恋,我火速辦了婚禮蚕断,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘入挣。我一直安慰自己亿乳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布径筏。 她就那樣靜靜地躺著葛假,像睡著了一般。 火紅的嫁衣襯著肌膚如雪滋恬。 梳的紋絲不亂的頭發(fā)上聊训,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音恢氯,去河邊找鬼带斑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛酿雪,可吹牛的內(nèi)容都是我干的遏暴。 我是一名探鬼主播侄刽,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼指黎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了州丹?” 一聲冷哼從身側(cè)響起醋安,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎墓毒,沒(méi)想到半個(gè)月后吓揪,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡所计,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年柠辞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片主胧。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡叭首,死狀恐怖习勤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情焙格,我是刑警寧澤图毕,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站眷唉,受9級(jí)特大地震影響予颤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜冬阳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一蛤虐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肝陪,春花似錦笆焰、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至荞驴,卻和暖如春不皆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背熊楼。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工霹娄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鲫骗。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓犬耻,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親执泰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子枕磁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容