

* K$ `8 y/ N; L8 Q0 S. l​8 R; h& ?/ G4 y+ v
建议用Homebrew安装postgreSQL
% P: O4 S# X% L! @+ l( s$ F: r' p1 ?1 b: |+ H) Y2 f
先安装Homebrew ,但是Homebrew依赖于Xcode Command Line Tools,所以需先打开终端执行:
. T5 W# g' |& a
8 a- ~) o2 R, V. wxcode-select --install4 [( [& ]' B" k6 a! ~2 f+ k( h
9 e% u7 g( i& k. T* w5 f0 l' ]; a
在终端中执行安装Homebrew:
0 n( k9 n- z, g4 p G+ C) F3 x/ I, _2 G
/usr/bin/ruby-e"$(curl-fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
4 |& g4 |- G; `. w, U4 h- `
3 ?+ c/ ?( {' J/ A" z/ F检查是否已安装成功:( S5 M0 N* o1 d% j( p# c
( e7 S; Z7 Y! {+ W/ E9 I+ U: Q
$ brew -v
5 \6 o) c* g3 _% }" C0 K: C
/ j0 ~! x6 L0 v6 IHomebrew 1.6.1
; C$ p0 [( e9 l* ]$ r5 t% @: D: C$ }7 [4 S& M- C5 ~4 V
Homebrew/homebrew-core (git revision 0aeb7; last commit 2018-04-12)4 p+ |/ i8 f' t& | _0 }
3 v C) Y: P% t8 s& }* Whomebrew安装postgreSQL:
: _9 |4 @* f( M2 r) o
1 D. b: m8 ^/ C/ C7 Zbrew install postgresql3 P; O9 b( O! W0 W4 C
2 w/ ]8 J! Q- V5 O& r6 s
安装完postgresql之后需要初始化数据库:1 e9 P! ?; ^) p9 ]2 r
* M: _+ H5 a8 [4 v7 D5 G; c) sinitdb /usr/local/var/postgres -E utf8
, G$ U5 D6 c7 K3 \0 y( E9 R( ^1 f) p% i; R+ M% j6 b
如果你不初始化,那么db的路径就是上面的/usr/local/var/postgres(在MacOS 10.11上),数据库编码类型就是utf8.; d* a/ V, t2 H. E
# R/ Y6 y" d- T+ N9 H
设置开机启动postgresql服务:
* \# L# D% x1 V9 J0 V$ j; S5 A* B5 _: w& I% {
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents& t& t$ J, ^ w
- j2 }& x9 g4 M. V& g) C+ }launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist7 |3 v/ z2 ?4 @
$ V% \7 B0 p$ T9 s6 O: B7 k" f
第一句将postgresql的配置plist文件做软连接至系统的对应路径下,第二句加载其中的一个plist文件。有可能你的postgresql不是通过homebrew安装的,你的plist文件名会略有不同,你只需要自行到/usr/local/opt/postgresql/中找到正确的文件名就可以了。; {8 Q2 e' L% n P# x2 P* ]
: N6 P) j. C7 v5 V& a1 [2 A
下面是启动和停止postgresql服务的指令:& A- C/ G" g' {8 v) a3 n8 R
, M7 [! a$ V. z- X6 C% W) [
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start) f3 K# B+ z9 K7 v% R
* Z8 C- i; M0 q. h* \: q8 bpg_ctl -D /usr/local/var/postgres stop -s -m fast
& L8 L2 k" I. L5 }- \
5 v. }, u0 O# h5 a- H4 V+ h这里有一点就是往往我们用上面的停止命令会等待一会,然后提示无法停止服务:; O6 B7 z, w- i1 b
" p" E7 e4 g' Q% w8 F: M! {1 H' F
pg_ctl -D /usr/local/var/postgres stop -s -m fast
2 H2 L ~7 C1 q6 s b/ R' S! s; B; P+ L; {2 x7 z8 k5 H
pg_ctl: server does not shut down
0 F3 n8 R6 t! P2 w, L/ i3 V' y
0 s* N2 U S) D$ q8 Z: X) b. V7 L这时你可以先卸载掉之前自动加载的服务,然后再尝试停止即可:
* M; J/ L6 L+ ~: V2 P4 r
0 {: U( _' F) l1 w+ Y3 {" A# _launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
) P9 `) z' p* E3 i; S
6 H" U; ?2 C6 v5 T+ a启动后,我们可以尝试添加username这个用户:
* M+ y" W; a* p/ l3 W# h n
9 |# D- x! B8 s6 c8 ]createuser username -P# S. Q7 W" C6 m1 ^' x
9 V( s$ l3 q1 J) V |( D" ~! `/ g
#Enter password for new role:
$ R& h7 A2 G' U* ^; L. B
# o6 ] _2 O3 R/ z0 T$ \9 |#Enter it again:
1 k1 `% l" d: z! i- ?7 {4 I
" \- ~/ z0 M g4 [' T然后我们可以用刚创建的用户建立一个数据库:
2 c3 S6 F4 J' O% c# e
- _2 E/ }3 Q F/ Vcreatedb database_Liwen -O username -E UTF8 -e
1 _7 [: E [4 ^ J
: q& G1 \. \ T6 M8 U) S上面创建了一个名为database_Liwen的数据库,数据库的所有者为username用户,数据库的编码utf-8,-e表示把数据库执行操作的命令显示出来。更多命令可以通过createdb –help查看。
$ V4 y& G7 G3 m
1 z6 {; @( S9 b$ O0 h4 D9 w在MacOS中管理postgresql的数据库有2种方法,一种是console,另一种是通过gui(图形化):
" m- w& T' F1 n& G, V' H/ e+ C W. x! y8 ~7 o% E
console方式,用psql之类来连接数据库:
& c) Z. X* a+ n% A# m8 J1 y; {8 n& c9 V% A
psql -U username -d database_Liwen -h 168.130.32.11 [# ~' R3 }7 g1 P _8 |& O
5 V6 L' _$ H% k
进入之后你可以用\h显示SQL的各种命令,用\?来显示psql客户端自身的一些命令,比如\d是显示数据库中的表,\c database_name是连接到指定数据库等等。
# G9 e5 z( r4 N- s2 v5 C) _5 n7 k( P# p
如果你不连接postgresql的情况下,也可以看到已创建数据库的列表:
5 `+ u" G, F ?# P& ~: C! @: `3 d
$ m) |1 p8 H4 K8 w' u* bpsql -l
$ o, I! V" S- q" u" {
4 L* r. A$ U& Fgui方式,安装图形化管理软件:/ e) F( w: x: M
* B5 L9 Z) X! k3 e
/ F) V6 [5 _" c, o8 G
7 }/ ^* r% F- y: g m相关安装教程推荐↓
" R' F8 K2 Z, {( K7 y% o& @1 u% U/ z干货 | postgresql(Windows)安装教程(同步发生冲突)
! _8 d0 @( C! I- I |
|