PostgreSQL安裝(Mac)

好記性不如爛筆頭啊捺疼,還是記錄一下!


最近自己做的獨立游戲需要對數(shù)據(jù)庫選型,主要有兩個選擇:
1. MySQL號稱最流行的數(shù)據(jù)庫
2. PostgreSQL號稱最先進的數(shù)據(jù)庫
最后經(jīng)過一番考量,最后選擇了PostgreSQL,本篇博客主要記錄的安裝過程蔗包,可供同學們參考。

本篇博客介紹的是Mac下的安裝過程


1. 簡介

1.PostgreSQL: 是以加州大學伯克利分校計算機系開發(fā)的 POSTGRES昆码,現(xiàn)在已經(jīng)更名為PostgreSQL气忠,版本 4.2為基礎(chǔ)的對象關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)。PostgreSQL支持大部分 SQL標準并且提供了許多其他現(xiàn)代特性:復雜查詢赋咽、外鍵旧噪、觸發(fā)器、視圖脓匿、事務(wù)完整性淘钟、MVCC。同樣陪毡,PostgreSQL 可以用許多方法擴展米母,比如, 通過增加新的數(shù)據(jù)類型毡琉、函數(shù)铁瞒、操作符、聚集函數(shù)桅滋、索引慧耍。免費使用身辨、修改、和分發(fā) PostgreSQL芍碧,不管是私用煌珊、商用、還是學術(shù)研究使用泌豆。


2.參考文獻

老習慣定庵,列出本文參考和引用的文檔和博客,致以崇高的敬意踪危,感興趣的可以去看看

  1. http://postgresapp.com/
  2. http://postgresapp.com/documentation/cli-tools.html
  3. http://www.yiibai.com/postgresql/2013080439.html

3.開始安裝

安裝很簡單蔬浙,我是直接用brew安裝的:

brew install postgresql 

等待運行完后,就安裝在了usr/local/Cellar/postgresql/目錄下

配置一下環(huán)境變量:
echo -e 'export POSTGRESQL_HOME='${POSTGRESQL_INSTALL_PATH}'\nexport PATH=${POSTGRESQL_HOME}/bin:$PATH\nexport PGDATA='${POSTGRESQL_INSTALL_PATH}'/data\n'>> /etc/profile
source /etc/profile

POSTGRESQL_INSTALL_PATH為你的安裝路徑


4.數(shù)據(jù)庫配置的初始化和修改

初始化數(shù)據(jù)庫配置:

pg_ctl -D ${POSTGRESQL_DATABASE_PATH} initdb

POSTGRESQL_DATABASE_PATH是我自動化安裝腳本中的變量贞远,可以改為你任何想初始化到的路徑下敛滋,我用的是POSTGRESQL_DATABASE_PATH='/usr/local/data/postgres'

然后進入初始化后的目錄:

cd ${POSTGRESQL_DATABASE_PATH}

可以在這個目錄下看到很多文件,需要修改的是pg_hba.confpostgresql.conf

  1. pg_hba.conf中主要是一些權(quán)限配置兴革,就是配置了哪些IP用什么方式可以登錄到數(shù)據(jù)庫
  2. postgresql.conf主要就是一些數(shù)據(jù)庫的細節(jié)配置绎晃。

pg_hba.conf我做了如下修改:

# 修改監(jiān)聽地址
sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" postgresql.conf
# 修改監(jiān)聽端口
sed -i 's/#port = 5432/port = 5432/g' postgresql.conf

我比較懶,直接用的命令修改杂曲,方便自動話工具使用庶艾,同學們可以直接用編輯器打開找到對應(yīng)的行進行修改。

postgresql.conf我做了如下修改:

sed -i 's/#logging_collector = off/logging_collector = on/g' postgresql.conf
# log地址擎勘,SERVER_PSQL_LOG為我的服務(wù)器LOG地址咱揍,可以改為你想放的位置
sed -i "s/#log_directory = 'log'/log_directory = '"${SERVER_PSQL_LOG//\//\\\/}"'/g" postgresql.conf
# log文件的名字,我格式化為了類似postgresql-2019-08-04_000000.log這樣的名字
sed -i "s/#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'/log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'/g" postgresql.conf
sed -i "s/#log_truncate_on_rotation = off/log_truncate_on_rotation = off/g" postgresql.conf
# log每一天新建一個文件
sed -i "s/#log_rotation_age = 1d/log_rotation_age = 1d/g" postgresql.conf
# log超過多大重新建立個新的文件棚饵,我用的10MB
sed -i "s/#log_rotation_size = 10MB/log_rotation_size = 10MB/g" postgresql.conf

postgresql.conf這個配置一般可以不改煤裙,因為我想改些日志方面的配置,所以也進行了修改噪漾,同學可以自行斟酌要不要修改硼砰。


5. 登錄數(shù)據(jù)庫

登錄命令的格式為:

psql -U [user] -d [database] -h [host] -p [post]

-U指定用戶,-d指定數(shù)據(jù)庫欣硼,-h指定服務(wù)器题翰,-p指定端口
直接使用psql登錄控制臺,實際上使用的是缺省數(shù)據(jù)

user:當前mac用戶
database: 用戶同名數(shù)據(jù)庫
主機: localhost
端口號: 5432诈胜,postgresql的默認端口是5432

完整的登錄命令豹障,比如使用postgres用戶登錄

psql -U postgres -d postgres

6. 初始化數(shù)據(jù)庫

初始化數(shù)據(jù)庫的方法是直接登入數(shù)據(jù)庫:

psql -U ${PSQL_USER} -d postgres

登錄后,現(xiàn)在登錄的postgres焦匈,這是默認的數(shù)據(jù)庫血公,我們需要創(chuàng)建個自己的數(shù)據(jù)庫:

-- 創(chuàng)建的數(shù)據(jù)庫
CREATE DATABASE '${PSQL_DBNAME}';
-- 修改用戶密碼
alter user ${PSQL_USER} with password '${PSQL_PASS}';

我就更懶一些了,直接用命令行:

psql -U ${PSQL_USER} -d postgres -c "CREATE DATABASE '${PSQL_DBNAME}';"
psql -U ${PSQL_USER} -d ${PSQL_DBNAME} -c "alter user ${PSQL_USER} with password '${PSQL_PASS}';"

PSQL_DBNAME為你任意想創(chuàng)建的數(shù)據(jù)名字
PSQL_USER為你postgres的用戶名字
PSQL_PASS為你任意想更改的密碼

效果也是一樣的


7. 常用控制臺命令

\password:設(shè)置當前登錄用戶的密碼
\h:查看SQL命令的解釋缓熟,比如\h select累魔。
\?:查看psql命令列表岩饼。
\l:列出所有數(shù)據(jù)庫。
\c [database_name]:連接其他數(shù)據(jù)庫薛夜。
\d:列出當前數(shù)據(jù)庫的所有表格。
\d [table_name]:列出某一張表格的結(jié)構(gòu)版述。
\du:列出所有用戶梯澜。
\e:打開文本編輯器。
\conninfo:列出當前數(shù)據(jù)庫和連接的信息渴析。
\password [user]: 修改用戶密碼
\q:退出
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晚伙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子俭茧,更是在濱河造成了極大的恐慌咆疗,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件母债,死亡現(xiàn)場離奇詭異午磁,居然都是意外死亡,警方通過查閱死者的電腦和手機毡们,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門迅皇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人衙熔,你說我怎么就攤上這事登颓。” “怎么了红氯?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵框咙,是天一觀的道長。 經(jīng)常有香客問我痢甘,道長喇嘱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任塞栅,我火速辦了婚禮婉称,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘构蹬。我一直安慰自己王暗,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布庄敛。 她就那樣靜靜地躺著俗壹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪藻烤。 梳的紋絲不亂的頭發(fā)上绷雏,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天头滔,我揣著相機與錄音,去河邊找鬼涎显。 笑死坤检,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的期吓。 我是一名探鬼主播早歇,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼讨勤!你這毒婦竟也來了箭跳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤潭千,失蹤者是張志新(化名)和其女友劉穎谱姓,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刨晴,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡屉来,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了狈癞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奶躯。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖亿驾,靈堂內(nèi)的尸體忽然破棺而出嘹黔,到底是詐尸還是另有隱情,我是刑警寧澤莫瞬,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布儡蔓,位于F島的核電站,受9級特大地震影響疼邀,放射性物質(zhì)發(fā)生泄漏喂江。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一旁振、第九天 我趴在偏房一處隱蔽的房頂上張望获询。 院中可真熱鬧,春花似錦拐袜、人聲如沸吉嚣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尝哆。三九已至,卻和暖如春甜攀,著一層夾襖步出監(jiān)牢的瞬間秋泄,已是汗流浹背琐馆。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留恒序,地道東北人瘦麸。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像歧胁,于是被迫代替她去往敵國和親滋饲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

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