Usability of PostgreSQL

frightenedfroggeryData Management

Dec 16, 2012 (4 years and 10 months ago)

434 views

K E M I - T O R N I O
K E M I - T O R N I O
K E M I - T O R N I OK E M I - T O R N I OU N I V E R S I T Y
U N I V E R S I T Y
U N I V E R S I T YU N I V E R S I T YO F
O F
O FO FA P P L I E D
A P P L I E D
A P P L I E DA P P L I E DS C I E N C E S
S C I E N C E S
S C I E N C E SS C I E N C E ST E C H N O L O G Y
T E C H N O L O G Y
T E C H N O L O G YT E C H N O L O G YZ e n gX iT h e
T h eT h e
T h eU s a b i l i t y
U s a b i l i t yU s a b i l i t y
U s a b i l i t yo f
o fo f
o fP o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q L
P o s t g r e S Q LT h eB a c h e l o r’sT h e s i sI Tp r o g r a m m eK e m i2 01 0
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q LIP R E F A C E
P R E F A C E
P R E F A C EP R E F A C EIw a n tt ot h a n km ys u p e r v i s o rA a l t oT e p p ow h og a v em eg r e a th e l pa n dg o o da d v i c eo nm yt h e s i sm o d i f i c a t i o n.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q LI IA B S T R A C T
A B S T R A C T
A B S T R A C TA B S T R A C TK e m i - T o r n i oU n i v e r s i t yo fA p p l i e dS c i e n c e s,T e c h n o l o g yD e g r e eP r o g r a m m eI n f o r m a t i o nT e c h n o l o g yN a m eZ e n gX iT i t l eU sa b i l i t yo fP o s t g r e S Q LT y p eo fS t u d yB a c h e l o r’sT h e s i sD a t e2 0t hm a r c h,2 0 1 1P a g e s2 9I n s t r u c t o rT e p p oA a l t oS u p e r v i s o rT e p p oA a l t oM yt o p i co ft h et h e s i si su s a b i l i t yo fP o s t g r e S Q L.I tp r e s e n t sb a s i ci n f o r m a t i o na b o u tP o s t g r e S Q L,s u c ha si t sh i s t o r y,f u n c t i o n,a n dc o m p a r i s o nw i t ho n eo ft h em o s tp o p u l a rd a t a b a s es-M y S Q L.P o s t g r e S Q Lh a sb e e nt e s t e di nd i f f e r e n te n v i r o n m e n t sa n dw i t hd i f f e r e n tp r o g r a m m i n gl a n g u a g e s.T h er e s e a r c hi sb a s e do nt h ed o c u m e n t sf r o mP o s t g r e S Q Lo f f i c i a lw e b s i t e.T h et h e s i si n t r o d u c e sa n dp r o v e st h eu s a b i l i t ya n dt h ec o m p a t i b i l i t yo fP o s t g r e S Q L.P o s t g r e S Q Lh a sb e e ni n s t a l l e do nW i n d o w sw o r k s t a t i o na n dc h e c k e di nd i f f e r e n tp r o g r a m m i n ge n v i r o n m e n t s.T h o s ee n v i r o n m e n t sw h i c hh a v eb e e nc h o s e na r ef r e ea n do p e ns o u r c es,s u c ha sQ tc e a t o r,D e v - C p p,a n dE c l i p s e.W h o l et h et e s t sh a v eb e e nu s e db yd i f f e r e n tp r o g r a m m i n gl a n g u a g e s( C,C + +,J a v a,P H P,R u b ya n dP y t h o n)i nt h ed i f f e r e n te n v i r o n m e n ts,t oc h e c ku s i n gc r e a t e,s e l e c t,i n s e r t,a n dd e l e t ec o m m a n d st oc o n t r o lP o s t g r e S Q L.M o s to ft h ec o d esa n ds o l u t i o n sc a nb ef o u n di nd o c u m e n t sa n dF A Qi no f f i c i a lw e b s i t e s.T h o s et e s t sc a np r o v eP o s t g r e S Q L'sc o m p a t i b i l i t ya n du s a b i l i t y.P o s t g r e S Q Li sa b s o l u t e l ys a f e,f a s t,a n dt e c h n i q u es t r o n g.K e yw o r d s:P o s t g r e S Q L,p r o g r a m m i n ge n v i r o n m e n t,p r o g r a m m i n gl a n g u a g e s,W i n d o w s.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q LI I IT A B L E
T A B L E
T A B L ET A B L EO F
O F
O FO FC O N T E N T S
C O N T E N T S
C O N T E N T SC O N T E N T SP E R F A C E.............................................................................................................................IA B S T R A C T........................................................................................................................I I1.I N T R O D U C T I O N...........................................................................................................12.B a s i ck n o w l e d g e2.1.S Q L...........................................................................................................................22.2.D B M S.......................................................................................................................23.F e a t u r e so fP o s t g r e S Q La n dc o m p a r i s o nw i t hM y S Q L.................................................33.1.H i s t o r yo fP o s t g r e S Q L...............................................................................................33.2.M y S Q L....................................................................................................................43.2.1.H i s t o r yo fM y S Q L.............................................................................................53.3.P o s t g r e S Q Lv sM y S Q L.......................................................................................53.3.1.F e a t u r e so fP o s g r e S Q L......................................................................................63.3.2.F e a t u r e so fM y S Q L...........................................................................................74.I n s t a l la n do p e r a t eP o s t g r e S Q L.......................................................................................84.1.P o s t g r e S Q Li n s t a l l a t i o n...........................................................................................84.2.B a s i co p e r a t i o ni nP o s t g r e S Q L...............................................................................1 25.P o s t g r e S Q Li nd i f f e r e n te n v r i o n m e n t............................................................................1 75.1.P o s t g r e S Q Lw o r k sw i t hQ t....................................................................................1 75.2.P o s t g r e S Q Lw o r k sw i t hD e v - C + +........................................................................1 85.3.P o s t g r e S Q Lw o r k sw i t hE c l i p s e............................................................................1 96.P o s t g r e S Q La n dw e bp r o g r a m m i n gl a n g u a g e s..............................................................2 06.1.P H P.........................................................................................................................2 06.2.P y t h o n.....................................................................................................................2 16.3.R u b y........................................................................................................................2 27.C o n c l u s i o n s… … … … … … … … … … … … … … … … … … … … … … … …..........… …..2 68.R e f e r e n c e… … … … … … … … … … … … … … … … … … … … … … … … … …................2 8
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L11.
1.
1.1.I N T R O D U C T I O N
I N T R O D U C T I O N
I N T R O D U C T I O NI N T R O D U C T I O NT h et o p i co ft h e s i sw a su s a b i l i t yo fP o s t g r e S Q L.I th a sb e e np r e s e n t e dP o s t g r e S Q Li nt h r e e - d i m e n s i o n a lw a y.I ts t a r t e db yi n t r o d u c i n gt h eb a s i ck n o w l e d g eo fS Q La n dD B M S,t h e ne x t e n d e dt oc o n t e n t,h i s t o r y,d e v e l o p m e n ta n df e a t u r e so fP o s t g r e S Q L.F o rm o r ei m p r e s s i v e l ye x p r e s st h eu s a b i l i t yo fP o s t g r e S Q L,i th a sb e e nc o m p a r edw i t ho n eo ft h em o s tp o p u l a rd a t a b a s e-M y S Q L.T h ec o m p a r i s o nh a sb e e nm a d ec o n c e r n i n gc o s t,l i c e n s e,t e c h n i q u e,e t c.T h e r ew e r es o m et e s t sf o rc h e c k i n gt h eu s a b i l i t ya n dc o m p a t i b i l i t yo fP o s t g r e S Q L.P o s t g r e S Q Lw a si n s t a l l e do nW i n d o w sX P,a n dw o r k e di nt h ed i f f e r e n tp r o g r a m m i n ge n v i r o n m e n t s( Q tc r e a t o r,D e v - C + +,E c l i p s e ).I th a sb e e nc h e c k e db yu s i n gc r e a t e,s e l e c t,i n s e r ta n dd e l e t ed a t a b a s e sc o m m a n d si nt h o s ep r o g r a m m i n ge n v i r o n m e n t s.I th a sa l s ob e e nc h e c ke db yu s i n gd i f f e r e n tp r o g r a m m i n gl a n g u a g e s( C,C + +,J a v a,P H P,P y t h o n,R u b y )i nt h ed i f f e r e n te n v i r o n m e n t s.S oP o s t g r e S Q Lh a sb e e nt e s t e db yu s i n gd i f f e r e n tp r o g r a m m i n gl a n g u a g e si nt h ed i f f e r e n tp r o g r a m m i n ge n v i r o n m e n t sa n dd i f f e r e n tw e bp r o g r a m m i n gl a n g u a g e si nt h es a m ew e bp r o g r a m m i n ge n v i r o n m e n t.T h et h e s i sd i s p l a y e dt h eu s a b i l i t yo fP o s t g r e S Q Lf r o mb o t ht h o r i e sa n dp r a c t i c e s.A l lt h et e s t sw e r ev e r ys i m p l ea n de a s yt ou n d e r s t a n d,t h e yb a s i c a l l yi n t r o d u c edh o wt oc o n n e c tP o s t g r e S Q Li nd i f f e r e n te n v i r o n m e n t s,h o wt om a n a g ea n dm a i n t e n a n c ed a t a b a s e sw i t hd i f f e r e n tl a n g u a g e s,s u c ha sc r e a ti n gn e wd a t a b a s e,i n s e r ti n gi n f o r m a t i o n,d e l e ti n gd a t a b a s eso rt a b l es.T h et h e s i sh a sb e e nd i s p l a y e dw i t hf i g u r e st os h o wt h ei n s t a l l a t i o no fP o s t g r e S Q L9.0a n dm a n a g i n gP o s t g r e S Q Lb yu s i n gp g A d m i nI I Io nW i n d o w s.T h et h e s i sl i s t e dm a i np r o b l e m sw h e ni n s t a l l i n ga n dp r o g r a m m i n gs o f t w a r e s.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L22.
2.
2.2.B A S I C
B A S I C
B A S I CB A S I CK N O W L E D G E
K N O W L E D G E
K N O W L E D G EK N O W L E D G E2.1.
2.1.
2.1.2.1.S Q L
S Q L
S Q LS Q LB e f o r eg e t t i n gs t a r t e dt oi n t r o d u c e dt h eu s a b i l i t yo fP o s t g r e S Q L,i ti sv e r yi m p o r t a n tt ok n o ww h a tS Q Li s.A l lt h ed a t a b a s ep r o d u c t sa r em a d ef o rm a n a g i n gd a t a b a s e s,s a m ed o e sP o s t g r e S Q L.T om a k et h ew o r ke a s i e r,i ti sn e c e s s a r yu n d e r s t a n dS Q La tb e g i n n i n g.S Q Li ss h o r tf o rS t r u c t u r eQ u e r yL a n g u a g e,i ti sal a n g u a g ew h i c hs u p p o r t sd a t a b a s eq u e r ya n dp r o g r a m m i n g.I ti sah i g h - l e v e ln o n - p r o c e d u r a lp r o g r a m m i n gl a n g u a g et h a ta l l o w su s e r sw o r ko nh i g h - l e v e ld a t as t r u c t u r e.I tn e i t h e rr e q u i r e su s e r st os p e c i f ym e t h o do fd a t as t o r a g en o rr e q u i r e su s e r st ou n d e r s t a n dd e t a i l so fs p e c i f i c a t i o no fs t o r a g em e t h o d.T h i sm a k e si tp o s s i b l et h a td i f f e r e n td a t a b a s es y s t e m st ou s et h es a m el a n g u a g ea st h eS Q Ld a t ai n p u ta n dm a n a g e m e n t.T h i sf e a t u r ef o r c e sp r o g r a m m e r st oc r e a t eb e t t e ra n db e t t e rd a t a b a s em a n a g e m e n ts y s t e m s( D B M S )./1/2.2
2.2
2.22.2D B M S
D B M S
D B M SD B M SS Q Lw a sd e v e l o p e da tI B Mb yD o n a l dD.C h a m b e r l i na n dR a y m o n dF.B o y c ei nt h ee a r l y1 9 7 0 s.T h ef i r s tR e l a t i o n a lD a t a b a s eM a n a g e m e n tS y s t e mw a sR D M S,d e v e l o p e da tM I Ti nt h ee a r l y1 9 7 0 s,s o o nf o l l o w e db yI n g r e s,d e v e l o p e di n1 9 7 4a tU.C.B e r k e l e y.I n g r e si m p l e m e n t e daq u e r yl a n g u a g ek n o w na sQ U E L,w h i c hw a sl a t e rs u p p l a n t e di nt h em a r k e t p l a c eb yS Q L.T h ef i r s tc o m m e r c i a ld a t a b a s ew h i c hs u p p o r tS Q Ll a n g u a g ei sO r a c l e.I ti so n eo fm a n yD B M Sp r o d u c t s.D B M Si sal a r g ed a t a b a s em a n i p u l a t i o na n dm a n a g e m e n ts o f t w a r e,u s e dt oc r e a t e,u s e,a n dm a i n t e n a n c ed a t a b a s e.F o rd a t a b a s e'ss a f e t ya n di n t e g r i t y,i tu n i f i e dd a t a b a s ec o n t r o la n dm a n a g e m e n t.U s e r sc a ns e ed a t aa c c e s sD B M Sa n da d m i n i s t r a t o r sc a nm a i n t e n a n c ed a t a b a s ea c c e s sD B M S.F o re x a m p l ei ny o u t u b e,u s e r sc a ns e a r c ha n dw a t c hd i f f e r e n tk i n do fv i d e o s,a f t e rt h e yl o gi n,t h e yc a nu p l o a dv i d e o sa n du p d a t et h e i rp e r s o n a li n f o r m a t i o n,a sa d m i n i s t r a t o r s,t h e yc a nd e l e t et h o s ev i d e o sa n du s e ra c c o u n t s.T h o s ea r eu s a b i l i t yo fD B M S,d a t as t o r a g e,d a t ar e m o v e,g e td a t aa n dc h e c kd a t ae t c./2/N o w a d a y s,t h e r ea r em a n yD B M Sp r o d u c t si nm a r k e t i n g,s u c ha s:O r a c l e,S y b a s e,I n f o r m i x,M i c r o s o f tS Q LS e v e r,M i c r o s o f tA c c e s s,P o s t g r e S Q L,M y S Q La n ds oo n.T h o s ep r o d u c t sh a v et h e i ro w nf e a t u r e sa n du s ei nd i f f e r e n tc a s e s.I nt h et h e s i s,i tp r e s e n t e dt h er e s e a r c ho ft h eu s a b i l i t yo fP o s t g r e S Q L,a n dc o m p a r e dP o s t g r e S Q Lw i t ht h em o s tp o p u l a ro n e-M y S Q L.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L33.
3.
3.3.F e a t u r e s
F e a t u r e s
F e a t u r e sF e a t u r e so f
o f
o fo fP o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q La n d
a n d
a n da n dc o m p a r i s o n
c o m p a r i s o n
c o m p a r i s o nc o m p a r i s o nw i t h
w i t h
w i t hw i t hM y S Q L
M y S Q L
M y S Q LM y S Q LO n2 0.0 9.2 0 1 0w h e nP o s t g r e S Q Lo f f i c i a lw e b s i t ep u b l i s h e dP o s t g r e S Q L9.0r e l e a s e,p e o p l es t a r t e dt ok e e pe y eo ni ta g a i n.P r o g r a m m e r ss t a r t e dt oa s kw h a tw i l lb ea d d e da n dc h a n g e di nt h en e wv e r s i o n.F o rb e g i n n e r s,i ti sn e c e s s a r yt os t a r tw i t hP o s t g r e S Q L'sb a c k g r o u n d,h i s t o r y,d e v e l o p m e n ta n de v a l u a t i o n./1 7/P o s t g r e S Q Li so n eo ft h em o s ta d v a n c e da n dt h em o s tp o w e r f u lf r e ed a t a b a s em a n a g e m e n ts y s t e m s.I ti sn o tc o n t r o l l e db ya n ys i n g l ec o m p a n y,i tb e l o n g st oag l o b a lc o m m u n i t yo fd e v e l o p e ra n dc o m p a n i e sd e v e l o pt h es y s t e m.I ti sb a s e do nO R D B M S (o b j e c t - r e l a t i o n a ld a t a b a s em a n a g e m e n ts y s t e m ).A saf r e eo p e ns o u r c e,P o s t g r e S Q Ls u p p o r t sm o s to ft h eS Q Ls t a n d a r da n do f f e r sm a n yo t h e rf e a t u r e s:s u c ha s:c o m p l e xq u e r i e s,f o r e i g nk e y s,t r i g g e r s,v i e w s,t r a n s a c t i o n a li n t e r g r i t y,m u l t i - v e r s i o nc o n c u r r e n c yc o n t r o l.A l s o,i tc a nb ee x t e n d e di nm a n yw a y s,f o re x a m p l e,b ya d d i n gn e wd a t at y p e s,f u n c t i o n s,o p e r a t o r s,a g g r e g a t ef u n c t i o n s,i n d e xm e t h o d s,p r o c e d u r a ll a n g u a g e sa n db e c a u s eo ft h ep e r m i tf l e x i b l e,e v e r yu s e rc a nu s ea n yp u r p o s ef r e et oc h a r g e,m o d i f y,a n dd i s t r i b u t eP o s t g r e S Q L,n om a t t e rf o rp r i v a t e,c o m m e r c i a lo ra c a d e m i cu s e./3/F r o mt h ev i e wo ft e c h n o l o g y,P o s t g r e S Q Lu s e sc l a s s i cs t r u c t u r eC/S( c l i e n t/s e r v e r )s t r u c t u r e,w h i c hm e n a sac l i e n tc o r r e s p o n d st oas e r v e r - s i d ed a e m o nm o d e,i tq u e r i e st h er e q u e s t,a f t e rd a t ar e t r i e v a la n df o r m a t t i n g,t h ef i n a lo u t p u to ft h er e s u l t sr e t u r nt ot h ec l i e n t.I no r d e rt of a c i l i t a t ep r o g r a m m e r sp r o g r a mm i n g,P o s t g r e S Q Lp r o v i d e sau n if o r mi n t e r f a c ef o rt h ec l i e n tC.A l lt h ed i f f e r e n tc l i e n ti n t e r f a c e sc o m ef r o mt h es a m ei n t e r f a c eC,s u c ha sO D B C,J D B C,P y t h o n,P e r l,T c l,C,C++,E S Q Le t c.I tp o i n tso u tt h a tP o s t g r e S Q Ls u p p o r tsa l m o s ta l lt y p e so fd a t a b a s ec l i e n ti n t e r f a c es,a n di ts u p p o r t sd i f f e r e n to p e r a t i n gs y s t e m s,s u c ha sL i n u x,F r e s s B S D( B S D - d e r i v e dU n i x ),M a c O S,S o l a r i s( S V R 4 - d e r i v e dU n i x ),a n dW i n d o w s../3/3.1
3.1
3.13.1H i s t o r y
H i s t o r y
H i s t o r yH i s t o r yo f
o f
o fo fP o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q LP o s t g r e S Q Ls t a r t e dw i t hI n g r e s,w h i c hw a sap r o j e c ti nt h eU n i v e r s i t yo fC a l i f o r n i aB e r k e l e yi n1 9 8 2.T h ep r o j e c tl e a d e r,M i c h a e lS t o n e b r a k e r,l e f tB e r k e l e yt om a k eap r o p r i e t a r yv e r i s o no fI n g r e s.I n1 9 8 5,h er e t u r n e dt oB e r k e l e i ya n ds t a r t e dan e wp r o j e c tw h i c hn a m e dp o s t - I n g r e s.D u r i n gt h ee a r l y1 9 8 0 s,t h et e a mh a db e e ns o l v e dp r o b l e m sa b o u tc o n t e m p o r a r yd a t a b a s es y s t e m.I nt h en e x tp r o j e c t-P o s t g r e s,i ta l r e a d yh a dt h ef e w e s tf e a t u r e sc a nc o m p l e t e l ys u p p o r t e dt y p e s,w h i c hh a da b i l i t yt od e f i n et y p e sa n dc a nf u l l yd e s c r i b er e l a t i o n s h i p s.P o s t g r e su s e dm a n yo ft h ei d e a so fI n g r e s,b u tt h et o t a l l yd i f f e r e n tc o d e.Fr o m1 9 8 6t o1 9 9 3,t h et e a mh a dp u b l i s h e df o u rd i f f e r e n tv e r s i o n s.I n1 9 8 9,t h ef i r s tv e r s i o nh a db e e np u b l i s h e d,i th a das m a l ln u m b e ro fu s e r s.Af t e ri tr e l e a s e dt h e
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L4v e r s i o n4,i ta l r e a d yg o tg r e a tn u m b e ro fu s e r ss u p p o r te da n dt h ep r o j e c te n d e d.I tw a sab i gs t e pf o rt h ep r o j e c t.I n1 9 95,B e r k e l e y'sg r a d u a te ds t u d e n t sA n d r e wY ua n dJ o l l yC h e n,r e p l a c e dP o s t g r e s'P O S T G U E Lq u e r yl a n g u a g e,w i t ha ne x t e n d e ds u b s e to fS Q L,c r e a t e dP o s t g r e s 9 5,a n dr e l e a s e dc o d ei nI n t e r n e t.I n1 9 9 6,t h ep r o j e c tr e n a m e dt oP o s t g r e S Q L,r e f l e c te dits u p p o r te dS Q L.A tt h es a m et i m e,i ts e tt h ev e r s i o nn u m b e r ss t a r t e df r o m6.0,w h i c hb a c k e dt oo r i g i n a ls e q u e n c eb yt h eB e r k e l e yP o s t g r e sp r o j e c t.T h ef i r s tr e l e a s e dv e r s i o nP o s t g r e S Q L6.0h a db e e np u b l i s h e di nJa n u a r y1 9 9 7.S i n c et h e n,t h es o f t w a r eh a sb e e nm a i n t a i n e db yag r o u po fd a tab a s ed e v e l o p e r sa n dv o l u n t e e r sa r o u n dt h ew o r l d./4/3.2.
3.2.
3.2.3.2.M y S Q L
M y S Q L
M y S Q LM y S Q LM y S Q Li sq u i t ep o p u l a ra n dw i d e l yu s e di nh i g hp r o f i l e,l a r g es c a l eW o r l dW i d eW e bp r o d u c t s,s u c ha s,W i k i p e d i a,G o o g l e,Y o u t u b ea n dF a c e b o o k.M y S Q Li sa l s ov e r yp o p u l a ru s i n gb ys m a l la n dm e d i u ms i z eo fw e bs i t ec o m p a n i e s,b e c a u s eo fi t ss m a l l,f a s t,l o wc o s t,a n de s p e c i a l l yi t'so p e ns o u r c e s.T h o s ef e a t u r e sc a nr e d u c ec o m p a n i e s't o t a lc o s to ft h eo w n e r s h i p.M y S Q Li sap o p u l a rc h o i c ef o ru s i n gi nw e ba p p l i c a t i o n,a n di ti sac e n t r a lc o m p o n e n to ft h eL A M P( L i n u x,A p a c h e,M y S Q L,P H P/P e r l/P y t h o n )w e ba p p l i c a t i o ns o f t w a r es t a c k.F o rc o m m e r c i a lu s e,M y S Q Lh a ss e v e r a lp a y a b l ee d i t i o n sf o rs a l e./1 8/M y S Q Li sw r i t t e ni nCa n dC + +,i t sS Q Lp a r s e ri sw r i t t e ni ny a c c,a n dah o m eb r e w e dl e x i c a la n a l y z e rn a m e ds q l _ l e x.c c.M y S Q Ls u p p o r t sm a n yd i f f e r e n ts y s t e mp l a t f o r m s,s u c ha sA I X,B S D i,F r e e B S D,H P - U X,i 5/O S,L i n u x,M a cO SX,N e t B S D,N o v e l lN e t W a r e,O p e n S o l a r i s,e C o m S t a t i o n,O S/2W a r p,Q N X,I R I X,S o l a r i s,S y m b i a n,S u n O S,S C OO p e n S e r v e r,s c oU n i x W A r e,S a n o s,T r u 6 4a n dM i c r o s o f tW i n d o w s./5/3.2.1.
3.2.1.
3.2.1.3.2.1.H i s t o r y
H i s t o r y
H i s t o r yH i s t o r yo f
o f
o fo fM y S Q L
M y S Q L
M y S Q LM y S Q LM y S Q Lw a sd e v e l o p e db yS w e d i s hc o m p a n yM y S Q LA Bi n1 9 9 5.T h ef i r s tv e r s i o nh a db e e nr e l e a s e di nI n t e r n e to n2 3r dM a y1 9 9 5.O n8t hJ a n u a r y1 9 9 8,i th a dt h ev e r s i o nf o rW i n d o w s9 5a n dW i n d o w sN T.T h ed i f f e r e n c eb e t w e e nM y S Q La n dP o s t g r e S Q L,M y S Q La l w a y sh a sb e t av e r s i o n sb e f o r er e l e a s ep r o d u c t i o n s.V e r s i o n3.2 3,b e t ah a db e e np u b l i s h e di nJ u n e2 0 0 0,t h ef o r m a lp r o d u c t i o nh a db e e nr e l e a s e di nJ a n u a r y2 0 0 1.V e r s i o n4.0,b e t ah a db e e np u b l i s h e di nA u g u s t2 0 0 2,t h ef o r m a lp r o d u c t i o nh a db e e nr e l e a s e di nM a r c h2 0 0 3.V e r s i o n4.0 1,b e t ah a db e e np u b l i s h e di nA u g u s t2 0 0 3,a n di nt h i sy e a r,J y o t ih a da d o p t e dM y S Q Lf o rd a t a b a s et r a c k i n g.V e r s i o n4.1b e t ah a db e e np u b l i s h e di nJ u n e2 0 0 4,t h ef o r m a lp r o d u c t i o nh a db e e nr e l e a s e di nO c t o b e r2 0 0 4.V e r s i o n5.0b a t ah a db e e np u b l i s h e di nM a r c h2 0 0 5,t h ef o r m a lp r o d u c t i o nh a db e e nr e l e a s e di nO c t o b e r2 0 0 5.O n2 6t hF e b r u a r y2 0 0 8,S u nM i c r o s y s t e m sa c q u i r e dM y S Q LA B.O n2 7t hN o v e m b e r2 0 0 8,v e r s i o n5.1h a db e e n
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L5r e l e a s e d,w h i c hh a ds o l v e d2 0c r a s h i n gp r o b l e m s.O n2 7t hJ a n u a r y2 0 1 0,O r a c l eh a da c q u i r e dS u nM i c r o s y s t e m s.T h ev e r s i o n5.5i sc u r r e n t l yg e n e r a l l ya v a i l a b l e,t h ed e f a u l ts t o r a g ee n g i n ei sI n n o D B,w h i c hs u p p o r t st r a n s a c t i o na n dr e f e r e n t i a li n t e g r i t yc o n s t r a i n t s,S I G N A La n dR E S I G N A Ls t a t e m e n ti nc o m p l i a n c ew i t ht h eS Q Ls t a n d a r d./6//7/3.3.
3.3.
3.3.3.3.P o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q Lv s
v s
v sv sM y S Q L
M y S Q L
M y S Q LM y S Q LT h e r ea r ep l e n t yo fa r t i c l e sc a nb ef o u n di nI n t e r n e ta b o u tc o m p a r i s o nb e t w e e nP o s t g r e S Q La n dM y S Q L.T h e yb o t ha r et e c h n i q u es t r o n g,o p e ns o u r c e sd a t a b a s ea n dm a n ys u p p o r t e r s.T h e yb o t hh a v el a r g en u m b e r so fu s e r s,t h e i rs u p p o r t e r sh a v el i s t e dt h e i rb e n e f i t sa g a i n s te a c ho t h e r.I ti si m p o s s i b l et oc h o o s et h ea b s o l u t e l yw i n n e r,b u tf r o mt h e i rf e a t u r e sa n dd i f f e r e n c e s,u s e r sc a nc h o o s et h ef i to n ea c c o r d i n gt ot h es i t u a t i o n s.I ti sn o tn e c e s s a r yt oc h o o s ew h i c hy o up r e f e r,b u ta f t e ru n d e r s t a n d i n gt h ea d v a n t a g e sa n dd i s a d v a n t a g e so fe a c hp r o d u c t s,i ti si m p o r t a n tt om a k er i g h tc h o i c ei nt h ed i f f e r e n tc a s e s.M y S Q Lh a sm a n yf a m o u su s e r s,s u c ha sF a c e b o o k,Y o u t u b e,G o o g l e,e t c.B u ti td o e s n'tm a t t e rf o rp r o g r a m m e r st om a k et h e i ro w nc h o i c e,P o s t g r e S Q Ld e f i n i t e l yh a sas t r o n gt e c h n i q u ec o m p a r et oM y S Q L./2 2/P o s t g r e S Q Lh a sa no l d e rh i s t o r y,l a r g e rs c a l ea n df a s t e rg r o w i n gc o m m u n i t y.I ts t a r t e d1 9 8 5,B e r k e l e yl e a d e dt h ew h o l ep r o j e c t.F r o mn o wo n,t h e r ea r et h o u s a n d sv o l u n t e e r sa n dm e m b e r s.T h ea d v a n t a g eo ft h i sl a r g ec o m m u n i t yi st h a tu s e r sa n dd e v e l o p e r sc a nc l o s e rc o m m u n i c a t e,u s e r se v e nc a nw o r kd i r e c t l yi n v o l v e di nt h en e wf e a t u r e s'd e s i g n.T h i sm o d e li si m i t a t e db yo t h e ro p e ns o u r c e sc o m m u n i t i e s./2 3/M y S Q Li su s e db yb u s i n e s sw o r l d,a st h eh i g h - s p e e dd a t a b a s e,M y S Q LA Bh a sb e e nc h o s e nM y S Q La sa no p e ns o u r c es u p p o r t e db yc o m m e r c i a lc o m p a n i e s.M y S Q Lb e c o m e so n eo ft h em o s tp o p u l a rd a t a b a s e si nt h es h o r tt i m e.B e c a u s eo ft h a t,S u nM i r c r o s y s t e m sh a sa c q u i r e di tw i t h$1,0 0 0,0 0 0,0 0 0.A l s ot h es a m er e a s o n,O r a c l eh a sa c q u i r e dS u nM i c r o s y s t e m so n2 7t hJ a n u a r y2 0 1 0./5/T a b l eT a b l eT a b l eT a b l e1.1.1.1.C o m p a r i s o nC o m p a r i s o nC o m p a r i s o nC o m p a r i s o nb e t w e e nb e t w e e nb e t w e e nb e t w e e nP o s t g r e S Q LP o s t g r e S Q LP o s t g r e S Q LP o s t g r e S Q La n da n da n da n dM y S Q LM y S Q LM y S Q LM y S Q L/2 4//2 5/D a t a b a s e sD a t a b a s e sD a t a b a s e sD a t a b a s e sP o s t g r e S Q LP o s t g r e S Q LP o s t g r e S Q LP o s t g r e S Q LM y S Q LM y S Q LM y S Q LM y S Q LD e v e l o p e rD e v e l o p e rD e v e l o p e rD e v e l o p e rP o s t g r e S Q LG l o b a lD e v e l o p m e n tG r o u pM y S Q LA B(As u b s i d i a r yo fO r a c l e )S t a b l eS t a b l eS t a b l eS t a b l er e l e a s er e l e a s er e l e a s er e l e a s e9.0.3/8.4.7/8.3.1 4/8.2.2 05.5.1 1G A/5.1.5 6G A/5.6.2m 5W r i t t e nW r i t t e nW r i t t e nW r i t t e ni ni ni ni nCl a n g u a g eC,C + +O p e r a t i n gO p e r a t i n gO p e r a t i n gO p e r a t i n gs y s t e ms y s t e ms y s t e ms y s t e mC r o s s - p l a t f o r mC r o s s - p l a t f o r mT y p eT y p eT y p eT y p eO R D B M SR D B M S
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L6L i c e n s eL i c e n s eL i c e n s eL i c e n s eP o s t g r e S Q Ll i c e n s eG U NG e n e r a lP u b l i cL i c e n s eW e b s i t eW e b s i t eW e b s i t eW e b s i t ew w w.p o s t g r e s q l.o r gw w w.m y s q l.c o md e v.m y s q l.c o mT a b l e 1s h o w st h eb a s i ci n f o r m a t i o no fP o s t g r e S Q La n dM y S Q L,w h i c hc o m p a r e st h e i rd e v e l o p e r,s t a b l er e l e a s e,w r i t t e ni n,o p e r a t i n gs y s t e m,t y p e,a n dl i c e n s e.T h e yh a v et h es a m eo p e r a t i n gs y s t e m,b u tt h e ya r ew r i t t e ni nd i f f e r e n tl a n g u a g e s,d i f f e r e n tl i c e n c e sa n dd i f f e r e n tt y p e s.3.3.1.
3.3.1.
3.3.1.3.3.1.F e a t u r e s
F e a t u r e s
F e a t u r e sF e a t u r e so f
o f
o fo fP o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q LT h o u g hd e c a d e so fd e v e l o p m e n t,P o s t g r e S Q Lb e c o m e so n eo ft h em o s ta d v a n c e do p e ns o u r c ed a t a b a s e s.A sf u l l - f e a t u r e do p e ns o u r c er e l a t i o n a ld a t a b a s em a n a g e m e n ts y s t e m,P o s t g r e S Q Lp r o v i d e sm a n yf e a t u r e st os u p p o r th i g h - t r a n s a c t i o n,m i s s i o n - c r i t i c a la p p l i c a t i o n s.T h em o s tc o m p e t i t i v ef e a t u r ei st h es e c u r i t yo fd a t ap r o t e c t i o n.I tg o e st h r o u g ht h ea u t h e n t i c a t i o nm e c h a n i s m so fe n t e r p r i s e s.F o re x a m p l e,L D A Po rK e r b e r o sc o n t r o lt h ec o n n e c t i o nt od a t a b a s e,a l lt h et r a n s a c t i o nt ot h ed a t a b a s ec a nt a k et h eS S Lc o n n e c t i o na f t e ra u t h e n t i c a t e,i ti n c r e a s e st h es e c u r i t yo fp r o t e c t i o n.P o s t g r e S Q Le n f o r c e su s e r st ou s eu s e r - d e f i n e dc o n s t r a i n t sw h e na d d i n go rm o d i f y i n gd a t a,t oe n s u r ed a t aq u a l i t yf o l l o w st h el i m i to fr u l e s.P o s t g r e S Q Lh a sas i m p l eo n l i n eb a c k u pt o o l-P I T R,w h i c hm e a n sP o i n t - I n - T i m eR e c o v e r ym e c h a n i s m,t h a ta d m i n i s t r a t o r sc a nf a s tr e c o v e r yo rr e s t o r ef r o mat i m ei nt h ep a s t.U s e r sc a nc h e c kf r o ms i m p l er a n g eo rc o m p l e xf o r e i g nk e y,t h e yc a nb a c k u pa n dr e s t o r ed a t aa ta n y t i m ei ft h e yh a v es a v e dd a t ai nt h ed i s k./1 9/I nt h et h ec o r ea r c h i t e c t u r eo fP o s t g r e S Q L,i ta l l o w so t h e rc o m m u n i t yg r o u p st h r o u g ht h ef o r mo fa d d - o nm o d u l e st oc r e a t em o r ea d v a n c e df e a t u r e si n t oP o s t g r e S Q L.T h eg o o de x a m p l eo ft h i si sP o s t g r e S Q L'sg e o s p a t i a ls u p p o r t.T h i sf u n c t i o nc o m e sf r o mam o d u l ec a l l e dP o s t G I Sw h i c hi sas i m p l ee x t e n s i o nt oP o s t g r e S Q Lt h a tm a k e si tt h es t r o n g e s ts p a t i a l,o p e ns o u r c eo rc o m m e r c i a ld a t a b a s e.A n o t h e rf e a t u r eo fP o s t g r e S Q L,i st h a th a sm a n yd i f f e r e n tt y p e so fs t o r e dp r o c e s sl a n g u a g e s,d e v e l o p e r sc a nu s et h eb e s tl a n g u a g ef o rt h e i rn e e d s./8/T h e r ei ss i m i l a rb e t w e e nP o s t g r e S Q La n dM y S Q L,t h e r ea r em a n y"r o l e s"i nt h ed a t a b a s e,d i f f e r e n tr o l e sv i s i td i f f e r e n td a t a.T h e r ei ss o m el i m i ti nt h ed i f f e r e n tr o l e s,f o re x a m p l e,a d m i n i s t r a t o r sa n du s e r sh a v ed i f f e r e n tr i g h t si naw e bs i t e.U s e r su s ec o m m a n d sl i k e"c r e a t er o l e","a l t e rr o l e","d r o pr o l e"t oc o n t r o lt h ed a t a b a s e.B u tt h ed i f f e r e n c ei s,"r o l e s"i nt h eP o s t g r e S Q Lc a nb em a p p e da n db o u n dt os y s t e mu s e r s,w h i c hm e a n si tc a nu s ed i f f e r e n tf o r m so fs y s t e mt oc e r t i f y:i d e n ts e r v e ra u t h e n t i c a t i o n,L D A Ps e r v e ra u t h e n t i c a t i o n,P A Ma n dK e r b e r o s.F o rl o c a lc o n n e c t i o n s,u s e r sa l s oc a nu s et h es y s t e mp e r m i s s i o nt od e t e r m i n ew h oc a na c c e s st h eU n i xd o m a i n,a n di t sl o c a t i o n./2 0/
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L73.3.2.
3.3.2.
3.3.2.3.3.2.F e a t u r e s
F e a t u r e s
F e a t u r e sF e a t u r e so f
o f
o fo fM y S Q L
M y S Q L
M y S Q LM y S Q LM y S Q Lh a st h er e p u t a t i o nf o rt h em o s tp o p u l a ro p e ns o u r c ed a t a b a s e,b e c a u s eo fi t sl e g a c yo fp e r f o r m a n c ea n ds i m p l i c i t y.A tt h eb e g i n n i n g,M y S Q Lh a sb e e nd e s i g n e dt ob eaf a s ti n d e x e ds e q u e n t i a la c c e s s m e t h o d( I S A M )d a t as t o r ef o rw e bs i t e s.T h et y p eo fw o r k,w h i c hw i t hm a n ys m a l lq u e r i e s,h a sb e e nl e dt of e a t u r e s( s u c ha sq u e r yc a c h e )i m p r o v e dM y S Q L'sp e r f o r m a n c e.T h i sc o n c e n t r a t i o no np e r f o r m a n c eh a si n s p i r e df e a t u r e ss u c ha sM y S Q LC l u s t e r,w i s ha l l o w st h ed a t a b a s et os c a l eb e y o n das i n g l ep h y s i c a ls e r v e r./8/P o s t g r e S Q Li sn o tt h eo n l yd a t a b a s et h a ta l l o w st oa d dm o d u l e sw h i c hh a se x t e r n a le x t e n s i o nf u n c t i o n so nd a t a b a s e.O n eo ft h eg r e a t e s tf e a t u r e so fM y S Q Li si t sp l u g g a b l es t o r a g ee n g i n e-M y I S A M,w h i c hi st h ed e f a u l ts t o r a g ee n g i n eo fM y S Q L,i tp r o v i d e st h ep e r f o r m a n c ef o rr e a dm o s t l ye n v i r o m e n t,a n dt h eI n n o D Bs t o r a g ee n g i n ep r o v i d e st h et r a n s a c t i o nr o b u s t n e s sn e c e s s a r yf o rw r i t ei n t e r s i v ea p p l i c a t i o n s./8/P o s t g r e S Q La n dM y S Q Lh a v ed i s t i n c tr e p u t a t i o n sf o rs u p p o r t i n gs p e c i f i ct y p e so fa p p l i c a t i o n s.T h e ya r ef r e q u e n t l yu s e db ym a n ya p p l i c a t i o n s.T h e ys u p p o r tm a n yd i f f e r e n tp r o g r a m m i n gl a n g u a g e s,o p e r a t i n gs y s t e m s,p r o g r a m m i n ge n v i r o n m e n t sa n db es u p p o r t e db ys t r o n gt e a m s.M y S Q Li sas t r o n gd a t a b a s ef o rw e ba p p l i c a t i o n s,i ta l s oc a nb eu s e db ys o m ea p p l i c a t i o n sw h i c hr e q u i r e st oh a n d l el a r g er a n g eo fu s e.P e o p l ec h o o s e sM y S Q Lb e c a u s eo fi t ss i m p l eo p e r a t i o n,b u to p e r a t i o no fP o s t g r e S Q Li sn o th a r da sw e l l.A f t e ru n d e r s t a n dt h eo p e r a t i o nr u l e so fP o s t g r e S Q L,p e o p l ew i l lf i n do u tt h e ya r ep r e t t ys i m i l a r.T h e ya r eb o t ho p e ns o u r c e s,b u tP o s t g r e S Q Li st o t a l l yf r e ea n di ti sn o tb e l o n g st oa n yc o m p a n yo ro r g a n i z a t i o n,i ta t t r a c t sp e o p l eu s i n g,d e v e l o p i n ga n d c o n t r i b u t i n g./8/
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L84
4
44.
.
..I n s t a l l
I n s t a l l
I n s t a l lI n s t a l la n d
a n d
a n da n do p e r a t e
o p e r a t e
o p e r a t eo p e r a t eP o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q LP r e v i o u s l y,i ti n t r o d u c e db a s i ci n f o r m a t i o no fP o s t g r e S Q La n dc o m p a r i s o nb e t w e e nP o s t g r e S Q La n dM y S Q L.I nt h i sc h a p t e r,i tw i l lp r e s e n ti n s t a l l a t i o no fP o s t g r e S Q L9.0o nW i n d o w sa n ds o m eb a s i co p e r a t i o n sb yu s i n gP o s t g r e S Q Lt o o l-p g A d m i nI I I,s u c ha sc r e a t i n g/d e l e t i n gd a t a b a s e/t a b l ea n di n s e r t i n gv a l u e s,e t c.4.1
4.1
4.14.1P o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q Li n s t a l l a t i o n
i n s t a l l a t i o n
i n s t a l l a t i o ni n s t a l l a t i o nP o s t g r e S Q Ls u p p o r t sm a n yd i f f e r e n to fo p e r a t i n gs y s t e m s,s u c ha s,L i n u x,F r e e B S D( B S D - d e r i v e dU n i x ),M a c O S,S o l a r i s( S V R 4 - d e r i v e dU n i x )a n dW i n d o w s.I th a sd i f f e r e n ti n s t a l l e r sf o rt h o s ed i f f e r e n to p e r a t i n gs y s t e m s.I nt h i sc h a p t e r,i tw i l ll i s th o wt oi n s t a l lt h el a s tv e r s i o no fP o s t g r e S Q Li nt h em o s tu s e do p e r a t es y s t e m-W i n d o w s.1.O p e nh t t p://w w w.p o s t g r e s q l.o r g/d o w n l o a d/w i n d o w sW i n d o w sp a c k a g eh a sb e e nc h o s e nf o ri n s t a l l a t i o ni nt h et h e s i s.T h ef a s t e s tw a yt og e tu pa n dr u ni nW i n d o w si st h eo n ec l i c ki n s t a l l e r.T h eW i n d o w si n s t a l l e ri n c l u d e st h eP o s t g r e S Q Ls e r v e r,p g A d m i nI I I,ag r a p h i c a lt o o l,a n dS t a c k B u i l d e r.V e r s i o n9.0.2 - 1W i nx 8 6 - 3 2w h i c hi st h en e w e s tv e r s i o na tt h em o m e n th a sb e e nc h o s e nf o ri n s t a l l i n gi nt h et h e s i s.V e r s i o n sf o rs u p p o r t i n gW i n d o w sa r eP o s t g r e S Q L8.2a n da b o v e.2.D o u b l ec l i c k i n gt h ef i l en a m e d"p o s t g r e s q l - 9.0.2 - 1 - w i n d o w s.e x e"w h i c hi sj u s td o w n l o a d e d.I n s t a l l a t i o ni ss t a r t e d.I ti sn od i f f e r e n tw i t ha n o t h e rs o f t w a r e s,i to n l yn e e d st or e a dc a r e f u l l ya n dc l i c k"N e x t"u n t i lf i n i s ht h ei n s t a l l a t i o n.T h e r ei so n et h i n gn e e d st ob ec a r e f u lw h i c hi sc h o o s i n gd i r e c t o r yf o rP o s g r e S Q L.A si nt h eF i g u r e1:
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L9F i g u r eF i g u r eF i g u r eF i g u r e1111.I n s t a l l a t i o nD i r e c t o r y.T h eF i g u r e1s h o w ss p e c i f y i n gP o s t g r e S Q L9.0d i r e c t o r y.T h ed i r e c t o r yf o ri n s t a l l i n gP o s t g r e S Q Lc a nb ei na n yd i s k so rf o l d e r s.I ti sb e t t e rt oi n s t a l li ti nad i r e c t o r yw h i c hw i t h o u ts p a c eb e t w e e nf o l d e r s'n a m e.F o re x a m p l e,i ti sb e t t e rt oi n s t a l li n"C:\P o s t g r e S Q L\9.0"t h a ni n"C:\P r o g r a mF i l e s\P o s t g r e S Q L\9.0".B e c a u s eo f"P r o g r a mF i l e s"h a so n es p a c eb e t w e e nP r o g r a ma n dF i l e s.Ad i r e c t o r yw h i c hh a ss p a c e si nn a m e st h a tm a yl e a dt oD O Sc a n'tr e c o g n i z et h ed i r e c t o r y,s a m ed o e si nt h ec o m m a n dp r o m p t.A f t e ru s e r sc h o o s ear i g h td i r e c t o r ya n dc l i c k"N e x t",t h e nw i l ls e eaw i n d o wl i k et h eF i g u r e2:
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L1 0F i g u r eF i g u r eF i g u r eF i g u r e2.2.2.2.D a t aD i r e c t o r y.T h eF i g u r e2s h o w ss e l e c t i n gad i r e c t o r yf o rd a t a.T h ed i r e c t o r yf o rs t o r i n gd a t as h o u l db eu n d e rt h ed i r e c t o r yo fP o s t g r e S Q L9.0.I fd a t ad i r e c t o r yh a sb e e nc h a n g e dt oa n o t h e rp l a c ef r o mw h e r eP o s t g r e S Q L9.0w a so r i g i n a l l yi n s t a l l e d,t h es y s t e mw i l lg i v ew a r n i n gu n t i lu s e rc h a n g ei tb a c k.F i g u r eF i g u r eF i g u r eF i g u r e3.3.3.3.S e tp a s s w o r df o rd a t a b a s e.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L1 1T h eF i g u r e3s h o w sp a s s w o r dw i n d o wf o rt h ed a t a b a s es u p e r u s e r( p o s t g r e s )a n ds e r v i c ea c c o u n t( p o s t g r e s ).I nt h i ss t e p,i fu s e ru s e sac o m p u t e rw h i c hh a sb e e ni n s t a l l e dP o s t g r e S Q Lb e f o r e,e v e ni th a sb e e nu n i n s t a l l e d.T h es y s t e mw i l ls t i l ls h o wa ne r r o rw h i c hi st h es p e c i f i cp a s s w o r di n c o r r e c t.T h ep r o b l e mw o n'ts o l v ei fu s e rt r i e st ot y p ed i f f e r e n tp a s s w o r d s.B e c a u s eo ft h ep r e v i o u sP o s t g r e sa c c o u n ts t i l li nt h ec o m p u t e r.I tn e e d sf e ws t e p st os o l v et h ep r o b l e m.U s e rn e e d st of i n d"a d m i n i s t r a t i v et o o l s"i nt h e"c o n t r o lp a n e l".O p e n n i n g"c o m p u t e rm a n a g e m e n t",t of i n d"l o c a lu s e r sa n dg r o u p s",a n dd e l e t et h ep o s t g r e sa c c o u n t.T h e nu s e rc a nc o n t i n u et h ei n s t a l l a t i o n.I fu s e ru s e sac o m p u t e rw h i c hh a sn e v e ri n s t a l l e dP o s t g r e S Q Lb e f o r e,i tw o n'th a v et h ep r o b l e m.R e m e m b e rt od e l e t ep r e v i o u sa c c o u n ti fi ti sn e e d e dt oi n s t a l lP o s t g r e S Q La g a i n.3.S e t u pa n db er e a d yt oi n s t a l l.I nt h i ss t e p,i tn e e d st oc h o o s et h ep o r ta n dl o c a l ef o rd a t a b a s ec l u s t e r.T h eo r i g i n a lp o r ti s5 4 3 2,u s e r sc a nc h o o s ea n yn u m b e rw h i c hi se a s yt or e m e m b e r."E n g l i s h,U n i t e dS t a t e s"h a sb e e nc h o s e na st h el o c a l ei nt h et h e s i s.F i n i s h i n gt h es e t u p,i ti sr e a d yf o ri n s t a l l i n gP o s t g r e S Q L.I tn e e d st ow a i taf e wm i n u t e st oc o m p l e t et h ei n s t a l l a t i o n.F i g u r eF i g u r eF i g u r eF i g u r e4.4.4.4.C o m p l e t et h eP o s t g r e S Q Ls e t u p.T h eF i g u r e4s h o w st h ef i n a ls e t u p.I tm e a n si n s t a l l a t i o nc o m p l e t e,a n da s ku s e ri fs h e/h ew a n t st or u nL a u n c hS t a c kB u i l d e ra te x i t.I fu s e rw a n t si n s t a l la d d i t i o n a lt o o l st h e nj u s tn e e dt oc l i c k"F i n i s h".I tw i l ls h o waw i n d o ww h i c hc a nc h o o s ea d d t i o n a lt o o l sa n dd r i v e r s.U s e r sc a nd o w n l o a da n di n s t a l la d d - o n e sd e p e n do ns i t u a t i o n s.I tt a k e ss o m et i m et oc o m p l e t ed o w n l o a d i n ga n di n s t a l l a t i o n.F i g u r e4s h o w st h em a r kh a sb e e nr e m o v e dw h i c hi sa s k i n gL a u n c hS t a c kB u i l d e ra te x i t.A d d i t i o n a lt o o l sa r en o tn e c e s s a r ya tt h i sm o m e n t.A f t e rc l i c k i n g"F i n i s h",t h ew h o l ei n s t a l l a t i o ni sc o m p l e t e d.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L1 24.2.
4.2.
4.2.4.2.B a s i c
B a s i c
B a s i cB a s i co p e r a t i o n
o p e r a t i o n
o p e r a t i o no p e r a t i o ni n
i n
i ni nP o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q LI n s t a l l a t i o ni sd o n e.I ti st h et i m et oc h e c kh o wd o e sP o s t g r e S Q L9.0w o r k,a n di si te a s yt ou s e?P e o p l ew h oh a su s e dM y S Q Lb e f o r e,p r o b a b l yk n o wt h et o o lf o rm a i n t e n a n c ea n dm a n a g e m e n to fd a t a b a s e-M y S Q L A d m i n.P o s t g r e S Q Lh a ss a m ek i n do ft o o lt o o-p g A d m i nI I I.I ts u p p o r t sd i f f e r e n to p e r a t i n gs y s t e m sa n di th e l p su s e r sm a n a g et h ed a t a b a s ee a s i l y.T h et o o li sw i t hW i n d o w si n s t a l l e r.I tc a nb ef o u n di nS t a r tm e n uw h e nc o m p l e t ei n s t a l l a t i o n.O p e n n i n gp g A m d i nI I It h e nc a ns e ea ni n t e r f a c el i k et h eF i g u r e5:F i g u r eF i g u r eF i g u r eF i g u r e5.5.5.5.p g A d m i nI I Iw i n d o w.T h eF i g u r e5s h o w st h ep g A d m i nI I Ii n t e r f a c ew h i c hi st h ef i r s tv i e wt h a tu s e r sc a ns e ew h e nt h e ym a n a g eP o s t g r e S Q L9.0.p g A d m i nI I Ih a sas i m p l ea n dc l e a ri n t e r f a c ed i s p l a y s"F i l e","E d i t","P l u g i n s","V i e w","T o o l s",a n d"H e l p".I th a st h r e em o d u l e s:"O b j e c tb r o w s e r","P r o p e r t i e s/S t a t i s t i c s/D e p e n d e n c i e s/D e p e n d e n t s"a n d"S Q Lp a n e".I nt h eF i g u r e5,t h em o s to ff u n c t i o n sa r en o ta v a i l a b l e,b e c a u s eo ft h es e r v e r sh a v e n'tb e e nc o n n e c t e dy e t.I fu s e rw a n t st oc o n n e c tt h ec u r r e n td a t a b a s ea si nt h eF i g u r e5,s h e/h es h o u l dc l i c k"p o s t g r e S Q L9.0( l o c a l h o s t:5 4 3 2 )"w h i c hi si nt h eO b j e c tb r o w s e ro nt h el e f ts i d e,t h e nc l i c kr i g h tb u t t o na n dc h o o s e"c o n n e c td a t a b a s e".I tw i l ls h o waw i n d o wt h a ta s ku s e r'sp a s s w o r dw h i c hh a sb e e ns e ti ni n s t a l l a t i o n.I nt h i ss t e pu s e r sc a nc h o o s ei ft h e yw a n tt os t o r et h ep a s s w o r do rn o t.A f t e rt h ep a s s w o r di sm a t c h e d,t h eo r i g i n a ld a t a b a s ew i l lb ec o n n e c t e d.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L1 3T h ed a t a b a s ei sc o n n e c t e d.U s e r sc a no p e r a t ea n dc h e c ka l lt h ei n f o r m a t i o nn o wi nt h ec u r r e n t( o r i g i n a l )d a t a b a s e.A l s oi tm e a n sp g A d m i nI I Ii sa v a i l a b l en o w,u s e r sc a nm a i n t e n a n c ea n dm a n a g ed a t a b a s e( o rc r e a t en e wd a t a b a s e )a tr i g h tn o w.U s e r sc a nc l e a r l ys e et h ea v a i l a b l ep g A d m i nI I Ii n t e r f a c ea st h eF i g u r e6:F i g u r eF i g u r eF i g u r eF i g u r e6.6.6.6.A v a i l a b l ep g A d m i nI I I.T h eF i g u r e6s h o w si n t e r f a c eo fp g A d m i nI I Ia f t e rd a t a b a s ei sc o n n e c t e d.I nt h eO b j e c tb r o w s e rw i n d o w,t h e r ei s"S e r v e rG r o u p s".U n d e rt h eS e r v e rG r o u p s,t h e r ei so n es e r v e ri nt h e"S e r v e s",o n eo r i g i n a ld a t a b a s ei nt h e"D a t a b a s e s",t w os y s t e mt a b l e s p a c e si nt h e"T a b l e s p a c e s"a n do n el o g i nr o l e-P o s t g r e s.A l lt h ei n f o r m a t i o na r ea v a i l a b l en o w.U s e r sc a nc h e c ke v e r y o n ei nt h e"O b j e c tb r o w s e r",t h e yc a nc l i c ko n ea n dt h a to n e'si n f o r m a t i o nw i l ls h o wi nt h er i g h ts i d e.U s e r sc a nc h e c ke v e r y o n ef r o mi t sp r o p e r t y,s t a t i s t i c s,d e p e n d e n c y,a n dd e p e n d e n t.F o re x a m p l e,i nt h eF i g u r e6,u s e rc l i c k s"P o s t g r e S Q L9.0( l o c a l h o s t:5 4 3 2 )",t h e nc a nc h e c ki t si n f o r m a t i o nf r o m"P r o p e r t i e s","S t a t i s t i c s","D e p e n d e n c i e s"a n d"D e p e n d e n t s".I nt h e"P r o p e r t i e s",i ts h o w sp r o p e r t i e sa n dt h e i rv a l u e si nt h e"P o s s t g r e S Q L9.0( l o c a l h o s t:5 4 3 2 )"s u c ha s"D e s c r i p t i o n:P o s t g r e S Q L9.0","H o s t n a m e:l o c a l h o s t","P o r t:5 4 3 2","E n c r y p t i o n:n o te n c r y p t e d",e t c.T h o s ea r eo r i g i n a ls e t t i n ga f t e ri n s t a l l a t i o n.I nt h a to r i g i n a ld a t a b a s e,u s e r sc a ni n s e r tv a l u e s,a l s oc a nd e l e t eo ra d dd a t a b a s e s.I nt h et h e s i s,i tw i l ld i s p l a yu s i n gp g A d m i nI I It oc r e a t ean e wd a t a b a s e,n e wt a b l e,a n di n s e r ti n f o r m a t i o ni n t ot h en e wt a b l e.p g A d m i nI I Ii sd e f i n i t e l yh e l p su s e r st om a n a g eP o s t g r e S Q Lv e r ye a s i l y.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L1 4U s e r sc a nc r e a t en e wd a t a b a s eb yc h o o s i n g"D a t a b a s e s"i nt h e"O b j e c tb r o w s e r",t h e nc l i c k i n gt h er i g h tb u t t o nt oc h o o s ec r e a t i n g"N e wd a t a b a s e".T h ew i n d o wf o rc r e a t i n gn e wd a t a b a s eh a s"P r o p e r t i e s","V a r i a b l e s","p r i v i l e g e s"a n d"S Q L"f o rm a k i n gd i f f e r e n td a t a b a s e sd e p e n do nu s e r s'r e q u i r e m e n t s.T h en e wd a t a b a s ei sn a m e d"t e s t".D o u b l ec l i c k i n gt h en a m eo ft h ed a t a b a s ei nt h eO b j e c tb r o w s e rw i n d o wo nt h el e f ts i d e.T h ed a t a b a s ei sc o n n e c t e d.U s e rc a nc r e a t ean e ws c h e m ai nt h en e wd a t a b a s e.C l i c k i n g"t e s t"w h i c hi st h en a m eo ft h en e wd a t a b a s e,t h e nc l i c kr i g h tb u t t o nt oc h o o s e"N e wo b j e c t"a n dc h o o s e"N e wS c h e m a".T h ew i n d o wf o r"c r e a t en e ws c h e m a"h a st h es a m es t r u c t u r ef o r"c r e a t en e wd a t a b a s e".I th a s"p r o p e r t i e s","p r i v i l e g e s","d e f a u l tp r i v i l e g e s"a n d"S Q L"f o rc r e a t i n gd i f f e r e n ts c h e m a sd e p e n do nu s e r'sr e q u i r e m e n t s.T h en e ws c h e m ai sn a m e d"t e s t - 1".U s e r sc a nr e f r e s hw i n d o wi fc a n'ts e et h en e ws c h e m a.U s e rc a nc r e a t ean e wt a b l ei nt h en e ws c h e m a.C l i c k i n g"t e s t - 1"w h i c hi st h en a m eo ft h en e ws c h e m a,a n dc h o o s e"N e wO b j e c t"w h i c hc a nb ef o u n df r o mal i s tw h e nu s e rc l i c kt h er i g h tb u t t o n.C h o o s i n g"n e wt a b l e"f r o m"N e wO b j e c t"'sl i s t,t h e nu s e rc a ng e taw i n d o wf o rc r e a t i n gt a b l e.F i g u r eF i g u r eF i g u r eF i g u r e7.7.7.7.W i n d o wf o rc r e a t i n gn e wt a b l e.F i g u r e7s h o w saw i n d o wf o rc r e a t i n gan e wt a b l e.I th a s"P r o p e r t i e s","I n h e r i t s","C o l u m n s","C o n s t r a i n t s","A u t o - v a c u u m","P r i v i l e g e s",a n d"S Q L"f o rs e t t i n gv a l u e s.I nt h e"C o l u m n s",i ta l r e a d yh a st h r e ec o l u m n si nt h en e wt a b l e.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L1 5U s e r sc a nn a m e dt h e i rt a b l e si nt h e"P r o p e r t i e s"o fc r e a t i n gt a b l ew i n d o w.T h en e wt a b l ei sn a m e d"u s e r".T h eF i g u r e7s h o w st h e r ea r e"n a m e","a g e",a n d"a d d r e s s"i nt h e"C o l u m n s"o ft h et a b l e.I nt h e"C o n s t r a i n t s"w i n d o w,u s e rc a na d dp r i m a r yk e yb yc l i c k i n g"A d d"b u t t o ni nt h ew i n d o w.A f t e rc l i c k i n g"A d d"b u t t o n,i tw i l ls h o waw i n d o wn a m e d"N e wP r i m a r yK e y".I th a s"P r o p e r t i e s"a n d"C o l u m n s"f o rs e t t i n g.T h en e wp r i m a r yk e yh a sb e e nn a m e d"P r i m a r y _ K e y",a n dt h en e wp r i m a r yk e yc a nb ec h o s e nf r o mt h e"C o l u m n s"w i n d o w,b ya d d i n go n eo fc o l u m n si nt h et a b l e.H e r e"n a m e"h a sb e e nc h o s e na st h en e wp r i m a r yk e y.C l i c k i n g"O K"t h e nt h en e wt a b l ei sa v a i l a b l e.T h en e x ts t e pi si n s e r t i n gv a l u e st ot h en e wt a b l e.C l i c k i n gt h en a m eo ft a b l ew h i c hc a nb ef o u n di nt h eO b j e c tb r o w s e rw i n d o w,t h e nc l i c k i n gt h er i g h tb u t t o n,i nt h el i s to ft h e"S c r i p t"c h o o s i n g"I N S E R Ts c r i p t".T h e nu s e rc a ns e eaw i n d o wl i k et h eF i g u r e8:F i g u r eF i g u r eF i g u r eF i g u r e8888....Q u e r yw i n d o w,w h e nu s e r si n s e r ts c r i p tf o rt a b l e.T h eF i g u r e8s h o w saw i n d o ww h i c hf o rq u e r y i n gt h en e wt a b l e.U s e r sc a ne d i tS Q Lb yc h o o s i n g"I N S E R Ts c r i p t".I nt h e"S Q LE d i t o r"o ft h eQ u e r yw i n d o w,i ta l r e a d yg i v e sa l lt h ev a l u e sw h i c hh a sb e e ni n s e r t e di nt h et a b l e:s c h e m a'sn a m e,t a b l e'sn a m ea n dt a b l e'v a l u e s.U s e r sc a ni n s e r ts c r i p ta n dr u ni t,t h e nu s e r sc a ng e tar e s u l tl i k et h eF i g u r e9.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L1 6F i g u r eF i g u r eF i g u r eF i g u r e9999....E d i td a t aw i n d o w.T h eF i g u r e9s h o w st h ei n f o r m a t i o no ft h et a b l ea f t e ri n s e r t i n g.T h ew i n d o wc a nb ef o u n db yc l i c k i n gt h er i g h tb u t t o na n dc h o o s e"V i e wa l lt h ed a t a"i nt h el i s t.I nt h i sw i n d o w,u s e r sc a ne d i tv a l u e ss u c ha sd e l e t e i n ga n da d d i n gv a l u e s.T h i si sq u i t ee a s yw a yt oe d i tv a l u e si nt h et a b l e s.F r o mt h ei n s t a l l a t i o nt ot h eo p e r a t i o n,P o s t g r e S Q Li sn od i f f e r e n c ew i t ha n o t h e rd a t a b a s e s,e a s yi n s t a l l a t i o n,s i m p l eo p e r a t i o n,a n dc l e a r l yi n t e r f a c ef o re v e r ys t e p.T h e r ei sa l s ot h ed o c u m e n t a t i o no fp g A d m i nI I If o rs o l v i n gu s e r s'd i f f e r e n tp r o b l e m sa n dq u e s t i o n s.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L1 75.
5.
5.5.P o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q Li n
i n
i ni nd i f f e r e n t
d i f f e r e n t
d i f f e r e n td i f f e r e n tp r o g r a m m i n g
p r o g r a m m i n g
p r o g r a m m i n gp r o g r a m m i n ge n v i r o n m e n t s
e n v i r o n m e n t s
e n v i r o n m e n t se n v i r o n m e n t sP r e v i o u s l y,i tp r e s e n t e dt h eP o s t g r e S Q Li n s t a l l a t i o na n db a s i co p e r a t i o ni nW i n d o w s.I nt h i sc h a p t e r,i tw i l ld i s p l a yt h eu s a b i l i t yo fP o s t g r e S Q L.I tw i l lp r e s e n tP o s t g r e S Q Lw o r k si nt h ed i f f e r e n tp r o g r a m m i n ge n v i r o n m e n t sb yu s i n gd i f f e r e n tp r o g r a m m i n gl a n g u a g e s.T h ec o m p a t i b i l i t yo fP o s t g r e S Q Lh a sb e e nc h e c k e db yu s i n gd i f f e r e n tp r o g r a m m i n gl a n g u a g e s( C,C + +,J a v a ).A n da l s oh a sb e e nc h e c k e dw i t hd i f f e r e n ti n t e g r a t e dd e v e l o p m e n te n v i r o n m e n t s( I D E ).I nt h ec h a p t e r3,i tp r e s e n t e dt h a tP o s t g r e S Q Ls u p p o r t sm a n yd i f f e r e n tp r o g r a m m i n gl a n g u a g e sa n dp r o g r a m m i n ge n v i r o n m e n t s.I nt h i sc h a p t e r,i tw i l ll e a du st ot h et r u t h.D o e si t sc o m p a t i b i l i t ya ss t r o n ga si ti n t r o d u c e d?5.1.
5.1.
5.1.5.1.P o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q La n d
a n d
a n da n dQ t
Q t
Q tQ tQ tS D K( o p e ns o u r c e )h a sb e e nc h o s e na st h ef i r s tt e s t.Q th a sb e e ni nw i d e l yu s e,f o r1 5y e a r s,Q th a sh e l p e dh u n d r e d so ft h o u s a n d so fd e v e l o p e r sa n dc o m p a n i e s.I th a sb e e nu s e di nd i f f e r e n tk i n do fe n v i r o n m e n t ss u c ha sm o b i l e,h o m em e d i a,a e r o s p a c e & d e f e n s e,a u t o m a t i v ei n f o t a i n m e n t,m e d i c a l,I Pc o m m u n i c a t i o n,o i l & g a s,v i s u a le f f e c t s,M I D s,E - b o o k s,a n dL i n u xd i s t o r s.Q tS D Ki n c l u d e sQ tc r e a t o r,Q tl i b r a r i e s,a n dt o o l s.T h ei n s t a l l a t i o no fQ tS D Kv 2 0 1 0.0 5i ss i m p l e,u s e r sn e e dt oi n s t a l li ti nad i r e c t o r yw h i c hd o e s n'th a ss p a c eb e t w e e nf o l d e r s'n a m e.I t'st h es a m er e a s o na si n s t a l l a t i o no fP o s t g r e S Q L.A f t e rQ tS D Ki si n s t a l l e d,u s e rc a nc r e a t eap r o j e c t.I ft h es y s t e ms h o w saw a r n i n gt h a tc a n'tf i n dp a t ha n dh a sa ne r r o ri nM a k e f i l ew h e nc r e a t eap r o j e c t,t h e ni ti sn e e d e dt od o w n l o a da n di n s t a l lQ t4.7.P r o b l e mw i l lb es o l v e da f t e ri n s t a l lQ tS D Ka n dQ t4.7i ns a m ed i r e c t o r y.I tw o n'th a v ea n yw a r n i n go re r r o rw h e nc r e a t ean e wp r o j e c t.A f t e ri n s t a l l a t i o n,c l i c k i n gt h eQ tc r e a t o r,u s e sc a nc r e a t eap r o j e c ti nt h ew e l c o m ep a g e.H e r ec h o o s e i n g"Q tC + +p r o j e c t",a n d"Q tc o n s o l eA p p l i c a t i o n"i nt h et h e s i s.T h en e wp r o j e c tn a m e d"t e s t".T w of i l e sa r ec r e a t e dw i t ht h en e wp r o j e c t-"t e s t.p r o"a n d"m a i n.c p p".I nt h e"t e s t.p r o"f i l e,i tn e e d st oa d d"Q T+ =s q l"i nt h ec o d e,w h i c hm e a n sa d ds q lt oQ tp r o j e c t.B e f o r ep r o g r a m m i n g,i ti sn e c e s s a r yt ok n o ws o m eb a s i ck n o w l e d g ea b o u tP R Of i l e,s u c ha s"q m a k e","n a m k e","- I","- D","d l l"e t c.I tw o u l dh e l pal o tt ou n d e r s t a n dt h eo r i g i n a lc o d ei nt h e"t e s t.p r o"a n da l s oc a na d d/d e l e t es o m ec o d e sd u r i n gp r o g r a m m i n g./2 1/T ou n d e r s t a n d"q m a k e"i sv e r yi m p o r t a n tf o ru s i n gQ t.I ti sc o m p u t e rp r o g r a mt h a ta u t o m a t e st h eg e n e r a t i o no fM a k e f i l e s.M a k e f i l e sa r eu s e db yt h ep r o g r a mM a k et oc o m p i l es o f t w a r ef r o ms o u r c ec o d e,t h e r e f o r eq m a k ei sam a k e - m a k e f i l et o o l,o rm a k e m a k ef o rs h o r t.A l s ot h eb a s i ck n o w l e d g ea b o u ts y s t e mv a r i a b l e si sn e e d e d,s u c ha s:T A R G E T,C O N F I G,S O U R C E S,I N T E R F A C E S,e t c.H o wt ou s ev a r i a b l e sa n dk e yw o r d s,s u c ha s"q m a k e","M a k e f i l e"a r ev e r yi m p o r t a n tf o rm a n a g i n gQ tc r e a t o r./9/
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L1 8T h e r ei sa no n l i n er e f e r e n c ed o c u m e n t a t i o ni nt h eQ to f f i c i a lw e b s i t e.I th a sd o c u m e n t a t i o n sf o re v e r yd i f f e r e n te d i t i o n s,s u c ha sQ t,t o o l s,a n da d d o n s.T h e r ea r ee x a m p l e s,t u t o r i a l sa n dd e m o sf o rd i f f e r e n te d i t i o n s.I tw o n'tb eap r o b l e mi fi ti st h ef i r s tt i m et ou s eQ t.I ti se a s yt of i n dt h ec o d ef o rc o n n e c t i o nw i t hP o s t g r e S Q Lb yu s i n gC + +.T h e r ea r em a n yt u t o r i a l sa b o u th o wt om a n a g eP o s t g r e S Q Lw i t hQ t,s u c ha sd e l e t i n g,a d d i n g,u p d a t i n ga n dm a i n t e n a n c e.I nt h eQ tr e f e r e n c ed o c u m e n t a t i o n,t h e r ei sa ne x a m p l ea b o u tc o n n e c t i n gP o s t g r e S Q Li nQ t S q l.U s e rc a nc o p ya n dp a s t et h ec o d et ot h e"m a i n.c p p",d e b u ga n dr u nt h ep r o j e c t.T h er e s u l ts h o w s,"Q P S Q Li sn o tl o a d e d".T h e r ea r em a n ya r t i c l e sc a nb ef o u n di nI n t e r n e tt ot e a c hh o wt os o l v et h i sp r o b l e m,s u c ha sa d d i n gp a t ht o"E n v i r o n m e n tv a r i a b l e s",c h a n g i n gt h es e q u e n c eo fi n s t a l l a t i o n,d o w n l o a d i n gd r i v e r s'l i b r a r i e s,c h a n g i n gc o d ei nP R Of i l e,u s i n gd i f f e r e n tc o d e st oc o n n e c tP o s t g r e S Q L,a n dc o p y i n gD L Lf i l e sf r o mP o s t g r e S Q L'sb i nt oQ t'sl i b r a r y.A l lt h o s ew a y sh a v el e a d e dt ot h es a m er e s u l ti nt h i sc a s e.O p e n n i n gb o t hf o l d e r so fP o s t g r e S Q La n dQ t,i ti sn o th a r df o ru s e rt of i n do u tt h a ti nt h eQ tf o l d e rt h e r ei sQ P S Q Lp l u g - i nm i s s i n gw h i c hi si nt h ep l u g i n sf o l d e ro ft h es q l d r i v e r sf o l d e r.S oi tm e a n st h en e x ts t e pi sb u i d i n gt h eQ P S Q Lp l u g - i n.F i r s ti tn e e d st od o w n l o a d"m a k et o o l s",a n du p d a t ee n v i r o n m e n t a lv a r i a b l eP A T Hf o rt h e"m a k e"d i r e c t o r y.I ta l s on e e d st od o w n l o a d"m i n g w - u t i l s",u s e rg e t s"r e i m pt o o l"a f t e re x t r a c t i n gt h e"m i n g w - u t i l s".U s e r sn e e dt oc o p ya n dp a s t e"m a k et o o l s"a n d"r e i m pt o o l s"t ot h es y s t e m 3 2f o l d e rw h i c hi su n d e rt h eW I N D O W Sf o l d e r.A f t e rp r e p a r a t i o n,i tn e e d st oo p e nQ tC o m m a n dP r o m p tw h i c hc a nb ef o u n di nS t a r tm e n u.T h eb a s i cc o m m a n d sa b o u tD O Si sn e e d e d,t h e r ea r em a n yd o c u m e n t sa b o u tD O Sc o m m a n d sc a nb ef o u n di nI n t e r n e t.U s i n g"c d"w h i c hi sD O Sc o m m a n dt og ow h e r eP o s t g r e S Q Li si n s t a l l e d.F i n d i n gs u b - d i r e c t o r y"l i b"w h i c hi si nt h eP o s t g r e S Q Lf o l d e r,a n dr u n"r e i m pl i b p q.l i b"( i ti sal i b r a r yf i l ei nt h eP o s t g r e S Q L'sf o l d e r )t op r o d u c et h e"l i b l i b p q.a"a n d"l i b p q.d e f"f i l e s.T h e nu s eD O Sc o m m a n d st og ow h e r ei sn e e d e dt oa d dt h ep l u g - i n.U s e rc a nu s e"q m a k e"a n d"M a k e f i l e"t op r o d u c en e wD L Lf i l e.A f t e rt h a t,u s e rn e e d st oc l e a rt h ec a c h e,d e b u ga n dr u nt h ep r o j e c t.N o wt h er e s u l ts h o w sQ P S Q Li sa v a i l a b l e./1 0/A f t e rQ P S Q Li sa v a i l a b l e,u s e rc a nu s eQ tt om a n a g eP o s t g r e S Q L,f o re x a m p l e,c r e a t ean e wd a t a b a s e,o ra d d/d e l e t en e wi n f o r m a t i o ni nt h ec u r r e n td a t a b a s e.F o rn e wu s e r s,i ti sn o tap r o b l e mt ou s eQ t.I nt h eQ tC e n t r e,t h e r ea r em a n yd o c u m e n t s,F A Q,b l o g sf o rp r o g r a m m e r s'q u e s t i o n sa n dp r o b l e m s.I nt h i st e s t,i tp r o v e sP o s t g r e S Q La n dQ ta r ec o m p a t i b l e,a n dP o s t g r e S Q Ls u p p o r t sC + +.5.2.
5.2.
5.2.5.2.P o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q La n d
a n d
a n da n dD e v - C + +
D e v - C + +
D e v - C + +D e v - C + +D e v - C + +h a sb e e nc h os e na sth es e c o n dt e s t.I ti sav e r yp o p u l a rI D Ef o rp r o g r a m m i n gCa n dC + +.I ti sb u n d l e dw i t hM i n G W,af r e ec o m p i l e r.A n di ti sv e r ye a s yt od o w n l o a di nI n t e r n e t,a n dv e r ys i m p l et oi n s t a l l.A f t e ri n s t a l l a t i o n,u s e rc a nop e nD e v -C + +a n dc h o o s et oc r e a t ean e wp r o j e c t.T h ec o n s o l ea p p l i c a t i o na n dCp r o j e c th a sb e e nc h o s e ni nt h i sp r o j e c t.T h ep r o j e c tn a m ei s"T e s t".F o rp e o p l ew h om a yb ed o n't
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L1 9k n o wh o wt oc o n n e c tP o s t g r e S Q La n dD e v - C + +b yu s i n gCl a n g u a g e,t h e r ei sa ne x a m p l ef r o mP o s t g r e S Q Lo f f i c i a lw e b s i t e:#i n c l u d e< s t d i o.h >/*s t d i oh e a d e rf i l e */#i n c l u d e< s t d l i b.h >/* s t d l i bh e a d e rf i l e */#i n c l u d e"l i b p q - f e.h"/*l i b p qh e a d e rf i l e*/i n tm a i n ( )/*m a i nf u n c t i o ns t a r t s */{c h a rs t a t e _ c o d e [ 3 ];/*h o l d su s e rs t a t ec o d e*/c h a rq u e r y _ s t r i n g [ 2 5 6 ];/*h o l d sc o n s t r u c t e dS Q Lq u e r y*/P G c o n n* c o n n;/*h o l d sd a t a b a s ec o n n e c t i o n*/P G r e s u l t* r e s;/*h o l d sq u e r yr e s u l t*/i n ti;c o n n=P Q c o n n e c t d b ("d b n a m e = t e s t");/*c o n n e c tt ot h ed a t a b a s e*/i f( P Q s t a t u s ( c o n n )= =C O N N E C T I O N _ B A D ){f p r i n t f ( s t d e r r,"C o n n e c t i o nt od a t a b a s ef a i l e d.\n");f p r i n t f ( s t d e r r,"% s",P Q e r r o r M e s s a g e ( c o n n ) );e x i t ( 1 );}p r i n t f ("E n t e ras t a t ec o d e:");/*p r o m p tu s e rf o ras t a t ec o d e*/s c a n f ("% 2 s",s t a t e _ c o d e );s p r i n t f ( q u e r y _ s t r i n g,/*c r e a t ea nS Q Lq u e r ys t r i n g*/"S E L E C Tn a m e\F R O Ms t a t e n a m e\W H E R Ec o d e='% s'",s t a t e _ c o d e );r e s=P Q e x e c ( c o n n,q u e r y _ s t r i n g );/*s e n dt h eq u e r y*/i f( P Q r e s u l t S t a t u s ( r e s )!=P G R E S _ T U P L E S _ O K )/*d i dt h eq u e r yf a i l?*/{f p r i n t f ( s t d e r r,"S E L E C Tq u e r yf a i l e d.\n");P Q c l e a r ( r e s );P Q f i n i s h ( c o n n );e x i t ( 1 );}f o r( i=0;i<P Q n t u p l e s ( r e s );i + + )/*l o o pt h r o u g ha l lr o w sr e t u r n e d*/p r i n t f ("% s\n",P Q g e t v a l u e ( r e s,i,0 ) );/*p r i n tt h ev a l u er e t u r n e d*/P Q c l e a r ( r e s );/*f r e er e s u l t*/P Q f i n i s h ( c o n n );/*d i s c o n n e c tf r o mt h ed a t a b a s e*/r e t u r n0;}P r o g r a mP r o g r a mP r o g r a mP r o g r a m1.1.1.1.C o n n e c tt oP o s t g r e S Q Li nCl a n g u a g e./1 1/
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L2 0T h eP r o g r a m1s h o w su s i n gC + +t oc o n n e c tP o s t g r e S Q La n dD e v - C + +.T h e r ea r ee x p l a n a t i o n si nt h es t e p s.T h e r ea r ef e wt h i n g sn e e de db e f o r et oc o m p i l et h ep r o j e c t.Fi r s t l y,i tn e e dst oa d dl i b r a r yf o l d e ro fP o s t g r e S Q Lt ot h ep r o j e c t.F i n d i n gt h ep r o j e c t"t e s t"w h i c hi sj u s tc r e a t e d.C l i c k i n g"p r o j e c to p t i o n s",a n ds e l e c tet h e"P a r a m e t e rT a b",t h e nu s e rn e e d st oc l i c kt h e"A d dL i b r a r yo rO b j e c t"b u t t o nt of i n dt h e"l i b p q.a"f i l ew h i c hi si nt h eP o s t g r e S Q L'sl i b r a r yf o l d e r.T h el i b r a r yd i r e c t o r yo ft h en e wp r o j e c ti s:"C:\P o s t g r e S Q L\9.0\l i b\l i b p q.a".A f t e rt h a t,u s e rn e e d st of i n dt h e"D i r e c t o r i e sT a b"i nt h ep r o j e c to p t i o n sw i n d o w,a n ds w i t c hi tt ot h e"I n c l u d eD i r e c t o r i e s"w i n d o w.I nt h eI n c l u d eD i r e c t o r i e sw i n d o w,i tn e e d st oa d di n c l u d ef o l d e r'sd i r e c t o r yw h e r ei su n d e rt h eP o s t g r e S Q Lf o l d e r.T h ei n c l u d ed i r e c t o r yo ft h ep r o j e c ti s:"C:\P o s t g r e S Q L\9.0\i n c l u d e".A f t e rt h o s ep r e p a r a t i o n,u s e r sc a nc o p ya ne x a m p l ef r o mt h eo f f i c i a lP o s t g r e S Q L'sw e b s i t e,a n dp a s t ei tt oD e v - C + +.I tn e e d st oc h a n g es o m ed e t a i lsi n f o r m a t i o no fd a t a b a s e,t h e nu s e ra nr u nt h ep r o j e c t.T h e r ei so n et h i n gs h o u l db en o t i c e,i ft h er e s u l tl i k esf l a s ha n dd i s a p p e a rq u i c k l y,t h e nu s e rs h o u l dt oa d d"g e t c h a r ( );"a f t e r"r e t u r n0"i nt h ec o d e.5.3.
5.3.
5.3.5.3.P o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q La n d
a n d
a n da n dE c l i p s e
E c l i p s e
E c l i p s eE c l i p s eE c l i p s eh a sb e e nc h os e na st h et h i r dt e s t.Iti sf r e ea n do p e ns o u r c ed e v e l o p m e n te n v i r o n m e n tw h i c hi sc o m p r i s i n ga nI D Ea n da ne x t e n s i b l ep l u g - i ns y s t e m.E c l i p s es u p p o r t sJ a v a,A d a,C,C + +,C O B O L,P e r l,P H P,P y t h o n,R u b y,S c a l a,C l o j u r ea n dS c h e m ep r o g r a m m i n gl a n g u a g e s./2 6/F i r s t l y,i fu s e r sw a n tt oc o n n e c tE c l i p s ea n dP o s t g r e S Q Lb yu s i n gJ a v a,i tn e e dst oi n s t a l lt h eJ a v ad r i v e r( J D B C )w h i c hc a nb ed o w n l o a de df r o mo f f i c i a lw e b s i t eo fP o s t g r e S Q L.E x t r a c ti n gi ta f t e rd o w n l o a d e d,t h e nu s e rc a ns e et h e"j a r"f i l e.Do w n l o a di n gE c l i p s ef r o mE c l i p s e'so f f i c i a lw e b s i t ea n dex t r a c ti tt h e nu s e r sc a nu s ei tb yd o u b l ec l i c ki n gt h e"E c l i p s e.e x e".I ti sn e e de dt oa d dj a rf i l e'sp a t hi n t ot h eE c l i p s e's"c l a s s p a t h"s e t t i n g,i fu s e r sd on o ta d dt h ep a t h,i tw i l ls h o wa ne r r o rl i k ec l a s si sn o tf o u n dw h e nr u nt h ep r o j e c t.O p e n n i n gE c l i p s e,u s e r sc a ns e et h ei n t e r f a c ef o rE c l i p s ew h e ncl o set h ew e l c o m ep a g e.U s e rn e e d st oc l i c k"c r e a t ean e wp r o j e c t",a n dc h o o s e"g e n e r a t ep r o j e c t".T h en e wp r o j e c ti sc r e a t e da n dn a m e d"t e s t".T h e r ea r em a n ye x a m p l e sc a nb ef o u n dw h e ng o o g l e"J a v a,P o s t g r e S Q L"o r"E c l i p s e,S Q L".T h o s ee x a m p l e sw i l lg i v eu s e r si d e a sh o wt oc o n n e c ta n dc o n t r o lP o s t g r e S Q Lb yu s i n gJ a v a,s u c ha si n s e r ti n g,d e l e ti n ga n dc r e a t i n g.I ti si m p o r t a n ts t e pt oi n s t a l lJ D B Ci fu s e r sw a n tt oc o n n e c tP o s t g r e S Q Lw i t hE c l i p s eb yu s i n gJ a v a.E c l i p s ea l s os u p p o r tsP H P,P e r l,R u d ya n dC + +,e t c.I tw o u l db ei n t e r e s t i n gt os e em a n a g i n gP o s t g r e S Q Li nE c l i p s eb yu s i n gd i f f e r e n tp r o g r a m m i n gl a n g u a g e s.H e r ei sc o d ef o ru s i n gJ a v a:i m p o r tj a v a.s q l.D r i v e r M a n a g e r;/* i m p o r tj a v a.s q l */i m p o r tj a v a.s q l.C o n n e c t i o n;i m p o r tj a v a.s q l.S Q L E x c e p t i o n;
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L2 1p u b l i cc l a s sE x a m p l e 1{p u b l i cs t a t i cv o i dm a i n ( S t r i n g [ ]a r g v ){S y s t e m.o u t.p r i n t l n ("C h e c k i n gi fD r i v e ri sr e g i s t e r e dw i t hD r i v e r M a n a g e r.");/* o u t p u t */t r y{/*n e wf u n c t i o nf o rc o n n e c t i o nf a i l s */C l a s s.f o r N a m e ("o r g.p o s t g r e s q l.D r i v e r");}c a t c h( C l a s s N o t F o u n d E x c e p t i o nc n f e ){S y s t e m.o u t.p r i n t l n ("C o u l d n'tf i n dt h ed r i v e r!");S y s t e m.o u t.p r i n t l n ("L e t'sp r i n tas t a c kt r a c e,a n de x i t.");c n f e.p r i n t S t a c k T r a c e ( );S y s t e m.e x i t ( 1 );}S y s t e m.o u t.p r i n t l n ("R e g i s t e r e dt h ed r i v e ro k,s ol e t'sm a k eac o n n e c t i o n.");C o n n e c t i o nc=n u l l;t r y{/*T h es e c o n da n dt h i r da r g u m e n t sa r et h eu s e r n a m ea n dp a s s w o r d,*//*r e s p e c t i v e l y.T h e ys h o u l db ew h a t e v e ri sn e c e s s a r yt oc o n n e c t*//*t ot h ed a t a b a s e.*/c=D r i v e r M a n a g e r.g e t C o n n e c t i o n ("j d b c:p o s t g r e s q l://l o c a l h o s t/b o o k t o w n","u s e r n a m e","p a s s w o r d");}c a t c h( S Q L E x c e p t i o ns e ){S y s t e m.o u t.p r i n t l n ("C o u l d n'tc o n n e c t:p r i n to u tas t a c kt r a c ea n de x i t.");s e.p r i n t S t a c k T r a c e ( );S y s t e m.e x i t ( 1 );}i f( c!=n u l l )/*i ff u n c t i o n sf o rd a t a b a s ec o n n e c t i o nd e s c r i p t i o n */S y s t e m.o u t.p r i n t l n ("Da t a b a s ec o n n e c t e d!");e l s eS y s t e m.o u t.p r i n t l n ("F a i lt oc o n n e c tt od a t a b a s e.");}}P r o g r a mP r o g r a mP r o g r a mP r o g r a m2.2.2.2.C o n n e c tt oP o s t g r e S Q Li nJ a v a./1 2/T h eP r o g r a m2s h o w su s i n gJ a v at oc o n n e c tP o s t g r e S Q Lw i t hE c l i p s e.I tn e e d st oe n s u r et h a tt h eD r i v e rg e t sr e g i s t e r e dw i t h i nt h ec o d e.T h ef i r s tt h r e el i n e so ft h ec o d em a k e sa v a i l a b l ef o rt h er e q u i r e dc l a s s e st or e g i s t e rw i t ht h eD r i v e rM a n a g e ro b j e c t,t oc r e a t eac o n n e c t i o no b j e c ta n dt ou s eS Q L E x c e p t i o no b j e c t.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L2 26.
6.
6.6.P o s t g r e S Q L
P o s t g r e S Q L
P o s t g r e S Q LP o s t g r e S Q La n d
a n d
a n da n dw e b
w e b
w e bw e bp r o g r a m m i n g
p r o g r a m m i n g
p r o g r a m m i n gp r o g r a m m i n gl a n g u a g e s
l a n g u a g e s
l a n g u a g e sl a n g u a g e sA f t e rt e s t e dP o s t g r e S Q Li nd i f f e r e n te n v i r o n m e n tsb yu s i n gd i f f e r e n tp r o g r a m m i n gl a n g u a g e s.Iti si n t e r e s t i n gt of i n do u th o wd o e si tw o r kw i t hd i f f e r e n tw e bp r o g r a m m i n gl a n g u a g e s.A sad a t a b a s em a n a g e m e n ts y s t e m,i ti si m p o r t a n tt oc o m p a t i b l ew i t hd i f f e r e n tw e bp r o g r a m m i n gl a n g u a g e s.T h e r ea r em a n yw e bp r o g r a m m i n gl a n g u a g e sh a v eb e e nw i d e l yu s e d,s u c ha sP H P,R u b y,P y t h o n,H T M L,J a v a S c r i p t,e t c.I nt h i sc h a p t e r,P o s t g r e S Q Lw i l lb et e s t e dw i t ht h r e eo ft h em o s tp o p u l a rw e bp r o g r a m m i n gl a n g u a g e s-P H P,P y t h o na n dR u b y.6
6
66.1
.1
.1.1.
.
..P H P
P H P
P H PP H PP H Pi so n eo ft h em o s tp o p u l a rw e bp r o g r a m m i n gl a n g u a g e s.I ti sv e r ys p e c i a lw e bp r o g r a m m i n gl a n g u a g e,i tu n i q u em i xo fC,J a v a,P e r l.I tc a nd i s p l a yd y n a m i cw e bp a g e sf a s t e rt h a nC G Ia n dP e r l.Ih a v eu s e dP H Pm a n yt i m e st oc o n n e c tw i t hM y S Q L.I nt h i st e s t,P H Pw i l lb eu s e dt oc o n n e c t ea n dm a n a g ew i t hP o s t g r e S Q L./2 7/I ti sn e e d e dt om a k es u r et h a tc o m p u t e rh a se v e r y t h i n gt os u p p o r tu s i n gP H Pt oc o n n e c tP o s t g r e S Q L.I tn e e d st od o w n l o a dP H Pa n dA p a c h e.T h en e w e s tv e r s i o nP H P5.3.6a n dA p a c h e2.2h a sb e e ni n s t a l l e d.I ti st h et i m et os t a r tp r o g r a m m i n g.T h er e s u l th a sb e e nc h o s e nt od i s p l a yi nt h eH T M Lp a g e,s oi tn e e d st ou s eH T M La n dP H Pt oc o n n e c td a t a b a s e.H e r e'st h ec o d e:< h t m l >< b o d y ><?/* p h ps t a r t s */$ h o s t="l o c a l h o s t";$ u s e r="p o s t g r e s";$ p a s s w o r d="j e s h i 1 9 8 7";$ d b="t e s t";/*o p e nac o n n e c t i o nt ot h ed a t a b a s es e r v e r */$ c o n n e c t i o n=p g _ c o n n e c t("h o s t=$ h o s td b n a m e=$ d bu s e r=$ u s e rp a s s w o r d=$ p a s s w o r d");/*d a t a b a s ec o n n e c t i o n */i f(!$ c o n n e c t i o n ){d i e("c o u l dn o to p e nc o n n e c t i o nt od a t a b a s es e r v e r");}/*c o n t r o lt h ed a t a b a s e,h e r ei tw i l lg e n e r a t ea n de x e c u t eaq u e r y */$ q u e r y="S E L E C T*F R O Mu s e r";$ r e s u l t=p g _ q u e r y ( $ c o n n e c t i o n,$ q u e r y )o rd i e("E r r o ri nq u e r y:$ q u e r y.".p g _ l a s t _ e r r o r ( $ c o n n e t i o n ) );$ r o w s=p g _ n u m _ r o w s ( $ r e s u l t );
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L2 3e c h o"T h e r ea r e$ r o w su s e r si nt h ed a t a b a s e.";/* c l o s ed a t a b a s ec o n n e c t i o n */p g _ c l o s e ( $ c o n n e c t i o n );?></b o d y ></h t m l >P r o g r a mP r o g r a mP r o g r a mP r o g r a m3.3.3.3.C o n n e c tt oP o s t g r e S Q Li nP H P.T h ep r o g r a m3s h o w su s i n gP H Pt oc o n n e c ta n dc o n t r o lP o s t g r e S Q L.T h er e s u l to ft h i sp r o j e c tw i l ls h o w:"T h e r ea r e2u s e r si nt h ed a t a b a s e".T h ec o d ea b o v ec a ns u m m a r yl i k et h i s:u s i n gP H Pt og e td a t af r o mP o s t g r e S Q Ld a t a b a s eh a ss e v e r a ls t e p s.T h ef i r s ts t e p,c o n n e c tw i t hP o s t g r e S Q Ld a t a b a s e.A f t e rc o n n e c t i o ni sd o n e,t h e ni tg o e st on e x ts t e p.I nt h es e c o n ds t e p,i tn e e d st om a n a g et h ed a t a b a s e,u s e r sc a ne d i td a t a b a s e,q u e r yd a t a b a s e,d e l e t ea n du p d a t et h ed a t a b a s e.I nt h et h i r ds t e p,i tn e e d st oc l o s et h ed a t a b a s ec o n n e c t i o n.T h a t'sa l la b o u th o wt ou s eP H Pt om a n a g eP o s t g r e S Q L,i td o e s n'th a v es ob i gd i f f e r e n c ew i t hM y S Q L,i s n'ti t?6
6
66.2
.2
.2.2.
.
..P y t h o n
P y t h o n
P y t h o nP y t h o nP y t h o nh a sb e e nc h o s ena st h es e c o n dt e s t.I tn e e d sA p a c h e,i n s t a l li ti ft h e r ei sn oA p a c h ei nt h ec o m p u t e r.D j a n g oi sn e e d e da sw e l l.Iti sa no p e ns o u r c ew e bf r a m e w o r kw r i t e nb yP y t h o n,i tc a nr e d u c et h ew o r k l o a d,a n dp r o v i d ei n t e r f a c ef o rP o s t g r e S Q Le x t r a c ta n ds t o r a g e.D j a n g os u p p o r t sP o s t g r e S Q L,M y S Q La n dO r a c l e.C o m p a r i n gw i t ha n o t h e rp r o g r a m si n s t a l l a t i o n,D j a n g oi sd i f f e r e n t.Be c a u s et h e r ei sn os u c ha n".e x e"f i l ec a nd i r e c t l yf i n i s hi n s t a ll a t i o n,i th a st oi n s t a l li nD O S.F i r s tl y,i tn e e dst oi n s t a l lP y t h o na n de x t r a c tD j a n go.S e c o n d l y,i tn e e d st oc o p ya n dp a s t et h ee x t r a c t e dD j a n g of o l d e rt oCd i s k.I tc a nc o p ya n dp a s t et oa n yf o l d e rw h i c hc a ne a s i l yb ef o u n db yu s i n gD O S.T h i r d l y,u s i n gD O St og ow h e r et h eD j a n g of o l d e ri s.F o u r t h l y,t y pi n g"s e t u p.p yi n s t a l l"a n dw a i ti tc o m p l e t et h ei n s t a l l a t i o n.T h e r ei saw a yt oc h e c ki fD j a n g oi si n s t a l l e do nt h ec o m p u t e ro rn o t.Fi n di n gP y t h o ni nt h e"S t a r t"m e n ua n dc h o o s et h ec o m m a n dl i n e.Ty pi n gc o m m a n d"i m p o r td j a n g o"a n d"d j a n g oV E R S O N",t h e ni ts h o w st h ev e r s i o ni n s t a l l e d.T h er e s u l ts h o w si nt h et e s t:< 1.2.5f i n a l,0 >./2 8/P y t h o ni sv e r yp o w e r f u l,c o m p r e h e n s i v e,s t a b l e,a n ds i m p l el a n g u a g e.I ts u p p o r t sm o s to fo p e r a t i n gs y s t e m s,a n dh a sl a r g ea m o u n to fu s e r s.W h e ng o o g l eP y t h o n,i ts h o w s1 0 4,0 0 0,0 0 0,0 0 0r e s u l t sl e s st h a n1s e c o n d.S oi ti sn o tap r o b l e mf o rb e g i n n e r st os t u d yi t.P o s t g r e S Q Lh a sa d a p t e r sf o rP y t h o n,t h em o s tp o p u l a ro n ei sP s y c o p g.W i n d o w sv e r s i o nc a nb ef o u n df r o mi t so f f i c i a lw e b s i t e,a n dc h o o s et h er i g h tv e r s i o nd e p e n d so nt h ev e r s i o no fP y t h o nu s e r sh a v eb e e ni n s t a l l e d.I nt h i st e s tP y t h o n 2.7h a sb e e ni n s t a l l e d."P y t h o nS h e l l"c a nb eu s e dt ot e s tt h a ti f"P s y c o p g2.0"h a sb e e ni n s t a l l e do rn o t.Ty pi n g"i m p o r tp s y c o p g 2"i nt h eP y t h o nS h e l l,a n dt h e nt y p et h ec o m m a n d"p s y c p g 2.a p i l e v e l".T h er e s u l ts h o w s:"2.0",i tm e a n sP s y c o p g2.0i sa l r e a d yi n s t a l l e d.F o rb e g i n n e r s,i ti si m p o s s i b l et oh a n d l ean e wl a n g u a g e,t h e yc a nc h e c ke x a m p l e si nI n t e r n e t.T h e r ea r el o to fe x a m p l e sa b o u tu s i n gP y t h o nc o n t r o lP o s t g r e S Q Li nt h e
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L2 4P o s t g r e S Q Lo f f i c i a lw e b s i t e.I ti se a s yt ou n d e r s t a n db yc h e c k i n ge v e r ys t e p'sm e a n i n g.H e r ei sa ne x a m p l ef o rc o n n e c t i n gP o s t g r e S Q L:D A T A B A S E = {'d e f a u l t':{'E N G I N E':'d j a n g o.d b.b a c k e n d s.p o s t g r e s q l _ p s y c o p g 2/*c o n n e c t i o nw i t hd a t a b a s e */#a d d'p o s t g r e s q l _ p s y c o p g 2','p o s t g r e s q l'/*a d df i l e s */'N A M E':'p o s t g r e s','U S E R':'p o s t g r e s',/* d a t a b a s ei n f o r m a t i o n */'P A S S W O R D':'j e s h i 1 9 8 7','H O S T':'l o c a l h o s t','P O R T':'5 4 3 2',}}P r o g r a mP r o g r a mP r o g r a mP r o g r a m4.4.4.4.C o n n e c tt oP o s t g r e S Q Li nP y t h o n./1 3/T h eP r o g r a m4s h o w su s i n gP y t h o nt oc o n n e c tP o s t g r e S Q L.T h ec o d ei sv e r ys i m p l ea n de a s yt ou n d e r s t a n d.I tn e e d st om a k es u r et h a ta l lt h ei n f o r m a t i o ni nt h ed a t a b a s ea r ec o r r e c t.A f t e rs t u d y i n gm o r eP y t h o n,t h e ni ti sn o th a r dt ou s eP y t h o nt om a n a g et h eP o s t g r e S Q L,s u c ha sd e l e t i n g,i n s e r t i n g,c r e a t i n g,a n du p d a t i n g,e t c.6.3.
6.3.
6.3.6.3.R u b y
R u b y
R u b yR u b yR u b yi sv e r yy o u n go b j e c t - o r i e n t e dp r o g r a m m i n gl a n g u a g e.S i n c ei th a sb e e np u b l i s h e di nD e c e m b e r1 9 9 5,R u b yh a sd r a w nd e v o t e dc o d e r sw o r l d w i d e.P e r l'sp r o n u n c i a t i o nl i k e st h eb i r t h s t o n eo fJ u n e-p e a r l,a n dR u b yh a ss a m en a m ea st h eb i r t h s t o n eo fJ u l y-r u b y./1 4/R u b yi sf u l l yo b j e c t - o r i e n t e dp r o g r a m m i n gl a n g u a g e,e v e r y t h i n gc a nb ea no b j e c ti nR u b y,i n c l u d eb a s i cd a t at y p e si no t h e rl a n g u a g e,s u c ha si n t e g e r s.A n de v e r y t h i n gh a sv a l u e,n om a t t e rm a t h e m a t i c,l o g i c a le x p r e s s i o no rs e n t e n c e.B e f o r eo ft h o s es p e c i a lp o i n t sm a k em a n yp r o g r a m m e r ss t a r tt ol e a r nt h i sl a n g u a g e.R u b yi sa l s ot o t a l l yf r e e.N o to n l yf r e eo fc h a r g e,b u ta l s of r e et ou s e,c o p y,m o d i f y,a n dd i s t r i b u t e.T h o s ef e a t u r e sa r er e a s o n sf o rc h o o s i n gi ta st e s tt oc o n n e c tw i t hP o s t g r e S Q L./1 4/W h e nd i s c u s sa b o u tR u b y,R u b yo nR a i l sw i l lc o m ew i t ht h ed i s c u s s i o n.I ti sap o p u l a rw e ba p p l i c a t i o nf r a m e w o r kw h i c hi sw r i t t e nb yR u b y.P e o p l eu s eR a i l st or e d u c et h ew o r k l o a da n dp r o v i d ei n t e r f a c ef o rd a t a b a s e se x t r a c ta n ds t o r a g e.I ti sn e e d e dt oi n s t a l lR u b yo nW i n d o w s.I tc a nb ed o w n l o a d e df r o mR u b yo f f i c i a lw e b s i t e.B e f o r eg e ts t a r t i n g,i ti sn e e d e dt oc o n f i g u r ead a t a b a s e.E v e r yR a i la p p l i c a t i o nw i l li n t e r a c tw i t had a t a b a s e.T h ed a t a b a s et ou s ei ss p e c i f i e di nac o n f i g u r a t i o nf i l e"c o n f i g/d a t a b a s e.y m l".:d e v e l o p m e n t:a d a p t e r:p o s t g r e s q le n c o d i n g:u n i c o d ed a t a b a s e:b l o g _ d e v e l o p m e n t
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L2 5p o o l:5u s e r n a m e:p a s s w o r d:P r o g r a mP r o g r a mP r o g r a mP r o g r a m5.5.5.5.C o n f i g u r i n gP o s t g r e S Q Ld a t a b a s e./1 5/T h eP r o g r a ms h o w sc o n f i g u r i n gP o s t g r e S Q Ld a t a b a s e.T h ed e f a u l td a t a b a s ec o n f i g u r a t i o nu s et h eS Q L i t e 3.I ti sn e e d e dt oc h a n g eS Q L i t e 3t oP o s t g r e S Q L.T h e"c o n f i g/d a t a b a s e.y m l"f i l ew i l lb ec u s t o m i z e dl i k et h eP r o g r a m5.I th a sb e e nu s e d"c o n s o l e"i nt h ep r o j e c t.T h ec o n s o l ei sac o m m a n d - l i n et o o lt h a te x e c u t eR u b yc o d ei nt h ec o n t e x to fa p p l i c a t i o n:"$r a i l sc o n s o l e".A n di tc a nc r e a t ec o n n e c t i o nw i t hP o s t g r e S Q L:r e q u i r e'p o s t g r e s'c o n n=P G c o n n.c o n n e c t ('"",5 4 3 2,"","","t e s t")/1 6/I nt h eg u i d eo fR u b yo nR a i l s,t h e r ea r em a n ye x a m p l e sc a nb ef o u n da sr e f e r e n c e.T h e r ei sn os u c ha ne x a m p l ee x a c t l ys h o w sh o wt ou s eR u b yt om a n a g eP o s t g r e S Q L,b u tu s e r sc a ng e ts o m et i p sf r o mt h o s ee x a m p l e s.I ti sal o n gw a yt os t u d yo n el a n g u a g e,a n di ti si m p o s s i b l ef o rb e g i n n e r st oh a n d l eR u b yi ns h o r td a y s.R u b yi sv e r yy o u n gp r o g r a m m i n gl a n g u a g e,t h e r ei sn o tm a n yt u t o r i a l sc a nb ef o u n di nI n t e r n e ti fc o m p a r e si tw i t ha n o t h e rl a n g u a g e s.I ts t i l ln e e d sp r o g r a m m e r st ok e e pw o r k i n ga n ds h a r i n gt h er e s o u r c e s.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L2 67.
7.
7.7.C
C
CCo n c l u s i o n s
o n c l u s i o n s
o n c l u s i o n so n c l u s i o n sB e f o r es t a r t e dt ow r i t et h i st h e s i s,Ih a v ev i s i t e dm a n yb i gl i b r a r i e si nC h i n at ot r yt of i n daC h i n e s eb o o ko fP o s t g r e S Q L,b u tId i d n'tf i n d."P o s t g r e S Q L"o n l ya p p e a r sw h e na u t h o r sm a k ec o m p a r i s o nw i t ha n o t h e rd a t a b a s em a n a g e m e n ts y s t e m s.B u tw h e nIs t a r t e dr e s e a r c h i n g,If o u n do u tt h a tt h e r e'r em a n yu s e f u li n f o r m a t i o nc a nb ef o u n di nI n t e r n e t,s u c ha s,E n g l i s hb o o k s,t u t o r i a l s,g u i d e s,d o c u m e n t s,e t c.P o s t g r e S Q Li sm o r ep o p u l a rt h a nIt h o u g h t,i th a sl a r g en u m b e r so fu s e r sa n di ti ss u p p o r t e db yah u g ei n d e p e n d e n tc o m m u n i t y.O nt h eo t h e rh a n d,w ec a ns e e,t h e r ei sn o te n o u g hC h i n e s ed o c u m e n to fP o s t g r e S Q L.I tn e e d sp e o p l ek e e pw o r k i n gt h a tt r a n s l a t eE n g l i s hP o s t g r e S Q Ld o c u m e n t st oC h i n e s e,a n dp u b l i s ht h e mi nI n t e r n e t.I tw o u l da t t r a c tm o r eC h i n e s eu s e r s.I nt h el a s tf e wy e a r s,M y S Q Lh a sb e e nu s e di nd i f f e r e n tp r o j e c tw o r k s,s u c ha sP r o g r a m m i n gp r o j e c ta n dD i s t r i b u t es y s t e mp r o j e c t.N o wIg e tac h a n c et os t u d yP o s t g r e S Q La n dc o m p a r ei tw i t hM y S Q Lb ym y s e l f.I t'sn o to n l yr e a da r t i c l e si nI n t e r n e t,b u ta l s ot e s ti t su s a b i l i t yb yu s i n gd i f f e r e n tl a n g u a g e si nt h ed i f f e r e n te n v i r o n m e n t s.P o s t g r e S Q Li sr e a l l yg o o dd a t a b a s em a n a g e m e n ts y s t e m.I ti sf a s t,s a f e,r e l i a b l ea n dd e f i n i t e l yt e c h n i q u es t r o n g.Iw a sc o n f u s ew h e nIr e a dm yt o p i co ft h e s i si nt h eb e g i n n i n g.T h e r ew e r em a n yp a r t sIc a n'tu n d e r s t a n d.F o re x a m p l e:"i n s t a l lP o s t g r e S Q Li nd i f f e r e n tp r o g r a m m i n ge n v i r o n m e n t s";i fi m a g ep r o g r a m m i n ge n v i r o n m e n ta sa nI D Ew h i c hs u p p o r t sp r o g r a m st or u nt h e r e,t h e nh o wc a ni n s t a l lo n es o f t w a r ei n t oa nI D E?B u ti td i d n'tt a k el o n gt i m ef o rm et os o l v et h ep r o b l e m."I n s t a l lP o s t g r e S Q Li nd i f f e r e n tp r o g r a m m i n ge n v i r o n m e n t s"a l s oc a nt r a n s l a t et ot e s tP o s t g r e S Q L'sc o m p a t i b i l i t yi nt h ed i f f e r e n te n v i r o n m e n t s.I ti sa b s t r a c tb u te a s yt ou n d e r s t a n di fi m a g i n gP o s t g r e S Q Li sc o c o a,p r o g r a m m i n ge n v i r o n m e n ti sm i l k,a n dp r o g r a m m i n gl a n g u a g ei ss t i c k.I fw ew a n tac u po fh o tc o c o a,w en e e dt oa d dc o c o ai n t oah o tm i l kt h e ns t i rt h e mw i t hs t i c k.T h et h e s i si sa b o u tu s i n gs a m ec o c o at op u ti nd i f f e r e n tb r a n d so fm i l ka n ds t i rw i t hd i f f e r e n ts t i c k st og e td i f f e r e n tf l a v o r so fh o tc o c o a s.T h i st h e s i si se x a c t l yp r o v i n gt h a th o ws t r o n gP o s t g r e S Q L'sc o m p a t i b i l i t yi s.P o s t g r e S Q Ls u p p o r t sm a n yl a n g u a g e sa n de n v r i o n m e n t s.I nt h et h e s i s,P o s t g r e S Q Lh a sb e e nt e s t e dw i t hd i f f e r e n tp r o g r a m m i n ge n v i r o n m e n t s,s u c ha sQ tc r e a t o r,D e v - C + +,a n dE c l i p s eb yu s i n gC,C + +,J a v a,P H P,H T M L,R u b ya n dP y t h o n.T h ef i r s ta n dt h eh a r d e s tp r o b l e mIh a v em e tw a st os o l v et h ec o n n e c t i o nb e t w e e nP o s t g r e S Q La n dQ tc r e a t o r.Ih a v ed o w n l o a d e dQ tS D K,i ti n c l u d e sQ tc r e a t o r,t o o l sa n dQ tl i b r a r i e s.I ts h o w e dt h er e s u l tt h a tQ P S Q Li sn o tl o a d e dw h e nIt r i e dt oc o n n e c tP o s t g r e S Q Lw i t hQ tb yu s i n gC + +.N om a t t e rh o wIc h a n g e dc o d e,a d d e dd i f f e r e n tp a t h s,o rc o p i e dd i f f e r e n tl i b r a r i e st od i f f e r e n tf i l e s,i ta l w a y ss h o w e dt h es a m er e s u l t.Ia l m o s tg a v eu pt h a tt r i e dt ou s eU b u n t ut oc o n n e c tP o s t g r e S Q La n dQ t.B u tl u c k i l yIf o u n daa r t i c l ef r o mt h eQ tC e n t r e,i tp r e s e n t e dh o wt ob u i l dQ P S Q Lp l u g - i no nW i n d o w st os o l v et h ep r o b l e mw h i c hi sQ P S Q Lc a n'tl o a d e d.It r i e dt ob u i l dp l u g - i ns t e pb ys t e pf o l l o w i n gt h ea r t i c l e.F i n a l l yIs o l v e dt h ep r o b l e m.E v e ni tt o o ka l m o s tt w ow e e k st of i n dt h er i g h ts o l u t i o n,b u tIt h i n ki tw a sw o r t h.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L2 7Ifo u n do u tap r o b l e mwh e nIp r e p a r edw e bp r o g r a m m i n ge n v i r o n m e n tf o rP o s t g r e S Q Lt h a tt h e r ea r em a n ys o f t w a r ess t i l ld on o ts u p p o r tP o s t g r e S Q L.Th e ya r el i k eW A M P( W i n d o w s,A p a c h e,M y S Q L,P H P ),b u n d l eM y S Q Lw i t hP H P,A p a c h ea n dW i n d o w s.F o re x a m p l e,Ip l a n e dt ou s eE s a y P H Pt ogetd e v e l o p m e n to fP H Pa n dP o s t g r e S Q Lo nt h el o c a l h o s t,b u tE a s y P H Pd o e s n'ts u p p o r tP o s t g r e S Q L.S od o e sJ o o m l a,Ip l a n e dt oc h e c kh o wi tw o r ksw i t hP o s t g r e S Q L,b u ti td o e s n'th a v eav e r s i o nf o rs u p p o r t i n gP o s t g r e S Q L.A sa no p e ns o u r c e,P o s t g r e S Q Li st o t a l lyf r e e,i td o e s n'tb e l o n g st oa n yc o m p a n yo ro r g a n i z a t i o n.M y S Q Li sd i f f e r e n t,O r a c l eo w n si t,i tm a ys o m ed a yf a c et oc o s tt o t a ll y.S oi ti sab i gm a r k e t i n gf o rW A M Ps o f t w a r et oc r e a t eav e r s i o nw h i c hc a nc o m p a t i b l ew i t hP o s t g r e S Q L.I tw o u l db eag r e a ts t e pf o rb o t hp r o g r a m s,a n dIb e l i e v et h a tw i l la t t r a c tm o r eu s e r s.Ih a v el e a r n e dal o to fp r o f e s s i o n a ls k i l l sw h e nw r i t et h et h e s i s.A tt h eb e g i n n i n go ft h ep r e p a r a t i o n,Ih a v er e a dl o to fd o c u m e n t s.I ti sn o to n l ya b o u tP o s t g r e S Q L,b u ta l s oi n c l u d e ss t a n d a r do fS Q L,d e v e l o p m e n ta n dh i s t o r yo fM y S Q L,e v a l u a t i o no fb o t hd a t a b a s e sa n dm e a n i n go ft e c h n i c a lw o r d s.I fId o n'tu n d e r s t a n das i n g l ew o r di naa r t i c l e,t om a k es u r eIw o n'tm a k em i s t a k ew h e nIw r i t et h et h e s i st h a tIw i l lk e e ps t u d y i n gu n t i lIu n d e r s t a n di t.T h o s ed o c u m e n t sw h i c hh a sb e e ns e a r c h e di n c l u d e dm a n yi n f o r m a t i o nt h a tId o n'th a v ew r i t t e ni nt h et h e s i s.In e e dt om a k es u r eIa mn o tc o n f u s ew h e nIs t a r tw r i t i n g.W h e nIt e s tP o s t g r e S Q Lb yu s i n gw e bp r o g r a m m i n gl a n g u a g e s,Ih a v el e a r n e df r a m e w o r k sw h i c hw r i t t e ni nt h o s el a n g u a g e s.P o s t g r e S Q Lh a sb e e ni n s t a l l e di nW i n d o w sw o r k s t a t i o n,Ih a v el e a r n e dh o wt oi n s t a l li ti nL i n u xa l s o.Ih a v es t u d ym a n yp r o g r a m m i n ge n v i r o n m e n t sa n dl a n g u a g e st h a tIh a v en e v e ru s eb e f o r e.A n dt h em o s ti m p o r t a n tt h i n gi st h a tIh a v el e a r n e dt h eu s a b i l i t yo fP o s t g r e S Q L.A tt h ee n do ft h et h e s i s,Iw a n tt ot h a n k st h o s ep e o p l ew h oh a sc o n t r i b u t e df o ro p e ns o u r c e sd o c u m e n t a t i o n s.T h e ya r ev e r yh e l p f u l,e s p e c i a l l yf o rb e g i n n e r sw h os t u d yan e wl a n g u a g eo ran e we n v i r o n m e n t.T h o s ed o c u m e n t sa r el i k el i g h t si nt h ed a r kr o a dt ol e a dp e o p l eg ot or i g h tp l a c e.T h e yh a v eh e l p e dm et os o l v ea l lk i n do fp r o b l e m sIh a v em e tw h e nIw a sr e s e a r c h i n g,i n s t a l l i n ga n dp r o g r a m m i n g.Ir e a l l ya p p r e c i a t et h o s ep r o g r a m m e r sw h oc o n t r i b u t ef o ro p e ns o u r c e s.Iw i s hIc a nj o i nt h et e a ms o m ed a yt o o.
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L2 88.
8.
8.8.R E F E R E N C E S
R E F E R E N C E S
R E F E R E N C E SR E F E R E N C E SL i s t
L i s t
L i s tL i s to f
o f
o fo ft h e
t h e
t h et h es o u r c e s:
s o u r c e s:
s o u r c e s:s o u r c e s:/1/W 3 s c h o o l s,[ W W W - d o c u m e n t ],<h t t p://w w w.w 3 s c h o o l s.c o m/s q l/s q l _ i n t r o.a s p>2 9.0 3.2 0 1 1/2/R o s e I n d i a,[ W W W - d o c u m e n t ],<h t t p://w w w.r o s e i n d i a.n e t/d a t a b a s e s/s q l.s h t m l>0 2.0 4.2 0 0 7/3/P o s t g r e S Q L,[ W W W - d o c u m e n t ],<h t t p://w w w.p o s t g r e s q l.o r g/a b o u t/>1 8.1 2.2 0 1 0/4/P o s t g r e S Q L,[ W W W - d o c u m e n t ],<h t t p://w w w.p o s t g r e s q l.o r g/a b o u t/h i s t o r y>1 1.0 3.2 0 1 1/5/A c s,[ W W W - d o c u m e n t ],<h t t p://w w w.i t s a b a c u s.c o m/m y s q l.h t m ll>3 0.0 3.2 0 1 1/6/M y S Q L,[ W W W - d o c u m e n t ],<h t t p://w w w.m y s q l.c o m/n e w s - a n d - e v e n t s/s u n - t o - a c q u i r e - m y s q l.h t m l>1 6.0 1.2 0 0 8/7/O R A C L E,[ W W W - d o c u m e n t ],<h t t p://w w w.o r a c l e.c o m/u s/c o r p o r a t e/p r e s s/0 4 4 4 2 8>2 7.0 1.2 0 1 0/8/e W e e k,[ W W W - d o c u m e n t ],<h t t p://w w w.e w e e k.c o m/c/a/L i n u x - a n d - O p e n - S o u r c e/P o s t g r e S Q L - v s - M y S Q L - H o w -t o - S e l e c t - t h e - R i g h t - O p e n S o u r c e - D a t a b a s e/>2 1.1 0.2 0 1 0/9/G o o g l e,[ W W W - d o c u m e n t ],<h t t p://w w w.g o o g l e.c o m/s e a r c h?h l = e n & d e f l = e n & q = d e f i n e:Q m a k e & s a = X & e i = t 8 d s T cG N A 4 m W O p v E 8 Y A D & s q i = 2 & v e d = 0 C B M Q k A E>/1 0/Q t C e n t r e,[ W W W - d o c u m e n t ],<h t t p://w w w.q t c e n t r e.o r g/w i k i/i n d e x.p h p?t i t l e = B u i l d i n g _ t h e _ Q P S Q L _ p l u g i n _ o n _ W i nd o w s _ u s i n g _ M i n G W>/1 1/P o s t g r e S Q L,[ W W W - d o c u m e n t ],<h t t p://w w w.p o s t g r e s q l.o r g/f i l e s/d o c u m e n t a t i o n/b o o k s/a w _ p g s q l/w r i t i n g _ a p p s/n o d e 3.h t m l>3 1.0 1.2 0 1 0/1 2/P r a c t i s eP o s t g r e S Q L,[ W W W - d o c u m e n t ],<h t t p://w w w.f a q s.o r g/d o c s/p p b o o k/x 2 0 8 5 6.h t m>
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L2 9/1 3/W a n g F a n,[ W W W - d o c u m e n t ],<h t t p://w e n k u.b a i d u.c o m/v i e w/8 e 3 2 d 1 0 c 6 c 8 5 e c 3 a 8 7 c 2 c 5 0 0.h t m l>1 3.0 1.2 0 1 1/1 4/R u b y,[ W W W - d o c u m e n t ],<h t t p://w w w.r u b y - l a n g.o r g/e n/a b o u t/>/1 5/R a i l sg u i d e,[ W W W - d o c u m e n t ],<h t t p://g u i d e s.r u b y o n r a i l s.o r g/g e t t i n g _ s t a r t e d.h t m l>3 0.0 8.2 0 1 0/1 6/o s C h i n a,[ W W W - d o c u m e n t ],<h t t p://w w w.o s c h i n a.n e t/c o d e/s n i p p e t _ 1 2 _ 4 9 3>1 8.1 0.2 0 1 0/1 7/P o s t g r e S Q L,[ W W W - d o c u m e n t ],<h t t p://w w w.p o s t g r e s q l.o r g/a b o u t/n e w s.1 2 3 5>2 0.0 9.2 0 1 0/1 8/M y S Q L,[ W W W - d o c u m e n t ],h t t p://w w w.m y s q l.c o m/w h y - m y s q l//1 9/P o s t g r e S Q L,[ W W W - d o c u m e n t ],<h t t p://w w w.p o s t g r e s q l.o r g/d o c s/8.4/i n t e r a c t i v e/c o n t i n u o u s - a r c h i v i n g.h t m l>/2 0 L i n u x e d e n,[ W W W - d o c u m e n t ],h t t p://w w w.l i n u x e d e n.c o m/h t m l/n e w s/2 0 1 0 0 3 1 7/7 6 1 1 0.h t m l1 7.0 3.2 0 1 0/2 1/Q t,[ W W W - d o c u m e n t ],<h t t p://q t.n o k i a.c o m/q t - i n - u s e>/2 2/M y S Q L,[ W W W - d o c u m e n t ],<h t t p://w w w.m y s q l.c o m/c u s t o m e r s/i n d u s t r y/?i d = 8 5>/2 3/e W e e k,[ W W W - d o c u m e n t ],<h t t p://w w w.e w e e k.c o m/c/a/L i n u x - a n d - O p e n - S o u r c e/P o s t g r e S Q L - v s - M y S Q L - H o w -t o - S e l e c t - t h e - R i g h t - O p e n S o u r c e - D a t a b a s e/>2 1.1 0.2 0 1 0/2 4/P o s t g r e S Q L,[ W W W - d o c u m e n t ],<w w w.p o s t g r e s q l.o r g>/2 5/M y S Q L,[ W W W - d o c u m e n t ],<w w w.m y s q l.c o m>/2 6/E c l i p s e,[ W W W - d o c u m e n t ],<h t t p://w w w.e c l i p s e.o r g/o r g/>/2 7/P H P,[ W W W - d o c u m e n t ],<h t t p://w w w.p h p.n e t/m a n u a l/e n/i n d e x.p h p>
Z e n gX iT h eu s a b i l i t yo fP o s t g r e S Q L3 0/2 8/D j a n g o,[ W W W - d o c u m e n t ],<h t t p://d o c s.d j a n g o p r o j e c t.c o m/e n/d e v/f a q/g e n e r a l/#w h a t - d o e s - d j a n g o - m e a n - a n d - h o w -d o - y o u - p r o n o u n c e - i t>