
) a& Z* A* M; A+ `' m, w
​
, o- X( }; c' C% M4 y! _* p建议用Homebrew安装postgreSQL
8 D9 L$ u7 n$ w
( a" T' g3 ~ |- y& Z+ |3 V先安装Homebrew ,但是Homebrew依赖于Xcode Command Line Tools,所以需先打开终端执行:: ]1 c0 y; {5 ?# J) f
/ P4 G3 l' J( t p/ X/ ?xcode-select --install9 J0 G( k, G& M0 j W8 |0 b2 Z: e/ H1 n
6 g7 b8 x! Q2 D9 H+ d/ {
在终端中执行安装Homebrew:
. i1 o, J. }2 O+ o. q$ {) j' V' @& \' G9 W) _8 F' U+ @, ?8 q
/usr/bin/ruby-e"$(curl-fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)") W* B1 J0 X0 U1 y
( Y' y# M# I$ b' k+ X/ h$ e7 k
检查是否已安装成功:
. b7 P3 Y, t. @! }( C% y' a3 H* Y; ~+ p$ N1 h% ?& ^" s
$ brew -v
7 Q' h8 P! S2 o3 c! `/ }3 Q1 A; t- A
. E0 }( ^) S% ]! o7 t$ rHomebrew 1.6.1/ s% O. W- j' n$ k
* [4 d: V* t; X3 C; b1 I
Homebrew/homebrew-core (git revision 0aeb7; last commit 2018-04-12)1 s/ Y$ L( z+ w8 h3 C; ]9 o
C+ q: J" n: H7 P* `& [* V; Ohomebrew安装postgreSQL:
9 `& [# U' w/ o& c& Z
; J: ]+ m# T% G4 j; W3 mbrew install postgresql
, |4 i( N$ R! M$ K3 e0 i, t* w4 i- [# z: ?* Z2 u" w2 ?
安装完postgresql之后需要初始化数据库:6 G6 B \2 _) k+ `0 o
' |: a3 i$ _; j5 T: e
initdb /usr/local/var/postgres -E utf8
) z/ g+ P& K5 H! A4 _2 d; d' V
) ~- b# Y* R* I% d" q) o如果你不初始化,那么db的路径就是上面的/usr/local/var/postgres(在MacOS 10.11上),数据库编码类型就是utf8.
) D/ K. A M* S) x& o2 V; A1 |7 H% t9 o$ E! _
设置开机启动postgresql服务:
6 S2 n+ b1 Z9 Q& |* M: |
2 K# Y# P% e8 Zln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents/ G4 z0 k1 f' n. V, I2 [! s' ]. Q
5 I# k `* E! V) ?7 m/ d# }
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
% f4 D6 w$ [1 L' H _; a
4 T5 G C3 x. y1 P; X9 m: ~1 I第一句将postgresql的配置plist文件做软连接至系统的对应路径下,第二句加载其中的一个plist文件。有可能你的postgresql不是通过homebrew安装的,你的plist文件名会略有不同,你只需要自行到/usr/local/opt/postgresql/中找到正确的文件名就可以了。) h3 \ b4 s$ d! O1 [
& X' G5 Y+ g$ T; [5 U下面是启动和停止postgresql服务的指令:
0 r; P$ w/ ^+ P7 D* ?& q$ q, q9 @/ m% b2 P/ b
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start4 O" ~$ [- ~( b* j2 O7 |. S$ k
$ H% a2 P5 Z. o; O' spg_ctl -D /usr/local/var/postgres stop -s -m fast
3 r2 a$ z9 j) t9 ?9 s7 |0 a& W1 w
这里有一点就是往往我们用上面的停止命令会等待一会,然后提示无法停止服务:/ C" R; N/ r, p- c
4 m* ]' w6 B! U& G3 kpg_ctl -D /usr/local/var/postgres stop -s -m fast
; D, |1 J. m: }- M6 r
. U' @* I, k. N, S$ ?6 Z6 ^pg_ctl: server does not shut down' w S3 [1 j8 T% t3 `
5 }! w S' I- ?; {
这时你可以先卸载掉之前自动加载的服务,然后再尝试停止即可:
1 I6 H( R+ V! `% K3 q
. }+ F& `, j0 k/ x, p6 B9 Ilaunchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist% o/ m1 \; K9 l5 g* \7 [- ?
5 v9 X) H1 s8 H/ v$ t# i# x! K
启动后,我们可以尝试添加username这个用户:
; S# ^& E+ ~" u: P6 |) w3 ?% u( r7 Z- ]6 F2 U0 y+ x. f
createuser username -P& B- @7 N3 L9 g' }5 d2 y/ J8 q
8 y( b. u) {) p. z4 L#Enter password for new role:' D4 L& _3 h [' P: Z6 t7 b5 Y
! U3 F0 T$ s4 l( j/ d! |$ y9 q7 u
#Enter it again:
5 ~ M3 m2 z9 p y8 {
! |4 \5 C) r( K" \$ t8 z然后我们可以用刚创建的用户建立一个数据库:& L5 F7 ~; Y% u1 u* B
; q* ^* F7 i! A" u5 t0 ~% V
createdb database_Liwen -O username -E UTF8 -e
8 d5 D! {& j( z2 x( i
+ E9 t# f. ^6 D5 H4 w% N5 m3 j. P上面创建了一个名为database_Liwen的数据库,数据库的所有者为username用户,数据库的编码utf-8,-e表示把数据库执行操作的命令显示出来。更多命令可以通过createdb –help查看。
+ G& t9 S# b8 b5 p& ]8 h4 a9 ]0 E
1 |8 s+ R7 t/ y% E$ @在MacOS中管理postgresql的数据库有2种方法,一种是console,另一种是通过gui(图形化):) ~! Y6 j+ X; j" [5 ]
( }( `' P4 j, L& E" y0 d9 g1 Z
console方式,用psql之类来连接数据库:
+ \. f9 P" r6 R* N7 T. ]9 O" F' V* a( e* P; i, N" u7 u/ u
psql -U username -d database_Liwen -h 168.130.32.1- L$ o, D3 h7 m/ B% |& K4 N( v
& z" b# |$ |* c进入之后你可以用\h显示SQL的各种命令,用\?来显示psql客户端自身的一些命令,比如\d是显示数据库中的表,\c database_name是连接到指定数据库等等。# {3 ?6 ] X& |" {8 d
1 T4 D1 o6 M& b$ N! O! M% @2 S如果你不连接postgresql的情况下,也可以看到已创建数据库的列表:0 _2 C B0 ?# d V6 u; O" L# H
6 j8 G. f9 z5 c3 e6 p9 y/ ^psql -l1 t( J) A, b% q, i
6 d2 B$ A' l/ A$ |" U& W& {
gui方式,安装图形化管理软件:4 ^% N) m6 O( F
2 H8 J: C/ j$ J
5 A7 [7 k* C( G& Z
4 f, J/ N8 y$ ]" N
相关安装教程推荐↓
5 J3 u# D( b* u* k' Y* a/ @% v干货 | postgresql(Windows)安装教程(同步发生冲突)
, n$ Z" i9 f4 W% D( M7 l" V9 p |
|