Upload
duca
View
238
Download
0
Embed Size (px)
Citation preview
7/25/2019 SQL-seminarski
1/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
PostgreSQL BAZA PODATAKANA LINUX OPERATIVNOM SISTEMU- Seminarsi ra! -
Predmet: Baze podataka
1
7/25/2019 SQL-seminarski
2/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
Kan!i!at "oran Ma#e$
2
7/25/2019 SQL-seminarski
3/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
SADR AJ .
1. UVOD .................................................................................................................................................. 42. INSTALACIJA ..................................................................................................................................... 6 2.1. Kreiranje baze ............................................................................................................................... 6 2.2. Pristupanje bazi ............................................................................................................................ 8
3. OSNOVE SQL-a ..................................................................................................................................13 3.1. Uvod ............................................................................................................................................13 3.2. Koncepti ........................................................................................................................................13 3.3. Kreiranje tabele .............................................................................................................................13 3.3.1. Kreiranje baze i tabele sa PgAdmin .....................................................................................14 3.4. Popunjavanje tabele redovima ......................................................................................................18 3.4.1. Popunjavanje tabele redovima sa PgAdmin ........................................................................1 3.!. Upiti ..............................................................................................................................................21 3.!.1. Upiti sa PgAdmin .................................................................................................................23 3.6. Udru"ivanje tabela ........................................................................................................................24 3.#. Agregatne $un%cije ........................................................................................................................26 3.8. &sve"avanje .................................................................................................................................28 3.. 'risanje .........................................................................................................................................28 3.1(. )apredne $un%cije .......................................................................................................................2 3.1(.1. Pogledi ..............................................................................................................................2 3.1(.1.1. Pogledi sa PgAdmin ...........................................................................................2 3.1(.2. *oreign Ke+s .....................................................................................................................2 3.1(.2.1. *oreign Ke+s sa PgAdmin ..................................................................................3( 3.1(.3. ,ransa%cije ........................................................................................................................32 3.1(.4. )asle-ivanje .....................................................................................................................33 3.1(.4.1. )asle-ivanje sa PgAdmin ...................................................................................3!4. ADMINISTRACIJA SERVERA ............................................................................................................36 4.1. Postgre/0 %orisni%i nalozi ........................................................................................................36 4.2. Kreiranje %lastera baze podata%a .................................................................................................36 4.3. Po%retanje servera baze podata%a ...............................................................................................3# 4.4. ogue gre%e prili%om podizanja servera ...................................................................................38 4.!. ogue gre%e prili%om %one%tovanja %lijenata ......... ...................................................................38
4.6. 5aenje servera ...........................................................................................................................3 4.#. igurne ,P7P %one%cije sa 9 tunelima .................................................................................3 4.8. Uloge i privilegije baze podata%a ..................................................................................................3 4.8.1. Uloge ...................................................................................................................................4( 4.8.2. &sobine uloga ......................................................................................................................4( 4.8.3. Privilegije .............................................................................................................................41 4.8.4. :lanstvo u grupi uloga .........................................................................................................415. UPRAVLJANJE BAZAMA PODATAKA ..............................................................................................43 !.1. Uvod .............................................................................................................................................43 !.2. Kreiranje baze podata%a ...............................................................................................................43 !.3. ;abloni baza podata%a .................................................................................................................44 !.4. ,ablespaces ..................................................................................................................................446. BACKUP i RESTORE .........................................................................................................................46 6.1. SQL P,?@ ...............................................................................48 6.3.1. Podeavanje A0 arBiviranja 48..........................................................................................4 6.3.2. 'e%apovanje baze ...............................................................................................................4 6.3.3. &bnavljanje sa on=line be%ap pristupom ..............................................................................!(. ZAKLJU!AK .......................................................................................................................................51DODATAKC PgAccess ...........................................................................................................................!3LITERATURA..........................................................................................................................................!8
3
7/25/2019 SQL-seminarski
4/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
PO"LAVLJE 1C UVODPostgre/0 je obje%tno=relacioni sistem za upravljanje bazama podata%a >object=relational databasmanagement s+stem >&?
7/25/2019 SQL-seminarski
5/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
postupa% be%apa. Predstavljeni su terminals%i program psl i gra$i%i program PgAdmin D %oji postoje i za drugoperativne sisteme >indoGs i ac&@.
,ema seminars%og rada je znaajna iz ne%oli%o razlogaF
- Postgre/0 je jedna od najpopularnijiB i naj%valitetnijiB open=source baza podata%a
- ve je ea upotreba open=source programa te 5)U70inuL operativniB sistemaD naroito %ao serverzbog svoje stabilnosti i sigurnosti. Ma ilustraciju ove teze mo"e poslu"iti %ompanija &racle %oja je nedavno >neuspeno@ po%uala %upovinu %on%urents%e open=source sitema za upravljanje bazampodata%a +/0D objavila open=source verziju &racla i poslednje najave %ompanije su da "eli po%retanjsvoje sopstvene 0inuL distribucije ili %upovinu )ovell=aD odnosno jedne od najpopularnijiB 0inuL distribucija C uE 0inuLa >na %ojoj je i ra-en ovaj seminars%i@. &racleD po reima svog prvog ove%a 0arijElisona ovim "eli da postigne O%valitativnu prednost u odnosu na svoje rivale = icroso$t i '
- )a naem jezi%u ne postoje %njigeD uputstvaD tutorijali za Postgre/0
- Hei deo pri%azanog psl=a i PgAdmin=a je upotebljiv i na operativnim sistemima indoGs i ac&
"
7/25/2019 SQL-seminarski
6/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
PO"LAVLJE 2C INSTALACIJAPrvo je potrebno s%inuti program sa interneta sa adrese BttpF77GGG.postgresl.org7doGnload7Postupa% instalacije je sledeiF
2.1. K&(i&a)'( *a+(
Ma %reiranje bazeD %oja e u ovom sluaju biti nazvana m+dbD se %oristi sledea %omandaF
&dgovor da je sve ura-eno %ore%tno e izgledati
U%oli%o je odgovor drugaijiD na primerF
#
./configuregmakesugmake installadduser postgresmkdir /usr/local/pgsql/datachown postgres /usr/local/pgsql/datasu - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &/usr/local/pgsql/bin/createdb test/usr/local/pgsql/bin/psql test
# createdb m db
!"$% D$%$$'
createdb( command not found
http://www.postgresql.org/download/http://www.postgresql.org/download/7/25/2019 SQL-seminarski
7/58
7/25/2019 SQL-seminarski
8/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
2.2. P&i#$,a)'( *a+i
Iednom %reiranoj bazi mo"e se pristupiti na sledea tri nainaF
a) Korienjem PostgreSQL interaktinog termina! "rograma psql# koji omog$aa otaranje# e%itoanje i&raanje SQL koman%i'
eminars%i se bazira na ovoj opcijiD mada e biti pri%azani i drugi naini za pristupanje bazi. Pristupanje terminals%og programa je najzgodnije iz ne%oli%o razloga C la%a mogunost administracije sa udaljene mainpomou 9 ili ne%og drugog proto%olaD %orienje sviB mogunosti baze >to u ostalim nainina pristupa nijmogue@ i najva"nija je prodiranje u samu sr" problemati%e Postgre/0 baze to eventualno na%nadno %orienjgra$i%iB programa ini znatno la%im. Po%ree se saF
dobija se ova%av odgovorF
sada se moze isprobati recimo ova%va %omandaF
dobijamo otpili%e ova%av odgovorF
%
su : postgres
psql mdb
;elcome to psql
7/25/2019 SQL-seminarski
9/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
ili
dobijamo otpili%e ova%av odgovorF
ili
dobijamo ova%av odgovorF
Program psl ima veli%i broj interniB %omandi %oje nisu /0 %omande. Poinju sa bac%slasB %ara%terom O Q )e%e od tiB %omandi su izlistane u pozdravnoj poruci %oja se javila na%on po%retanja psl=a. )a primerD moguje dobiti pomo za razne Postgre/0 %omande %ucajuiF
Ma izlaza% iz pslD %uca se
i psl prestaje sa radom i vraa 0inu%sov terminal.
&
mdb@# '!% currentFdateC
date
------------
2==-=5-2
A1 rowB
mdb@# '!% 2 G 2C
6column6
----------
4
A1 rowB
mdb@> ?h
mdb@> ?q
7/25/2019 SQL-seminarski
10/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
b) Koristei "ostojee gra(i)ke a!atke kao to s$ PgAdmin IIIi!i PgAccess'
PgAdmin e biti predstavljen uporedo sa psl=om budui da je pretpostavljeni upravlja%i gra$i%i prograPostgre/l=a za ne%e operativne sisteme >indoGs@D a% i dolazi sa Postgre/0=om u verziji za indoGsPgAccess e biti pri%azan na %raju seminars%og %ao dodata%. &ba ova programa sadr"e alate %oji drugi programne sadr"i.
PgAdmin se po%ree %omandomF
Poetni prozor izgleda %ao na slici 1F
)emamo ni%a%viB mogunosti do% god ne de$iniemo na %om serveru "elimo da radimoD zato je potrebno dodati
server sa i/(
A00 S(&(&%ao na slici 2.
1'
pgadmin5
slika 1.
7/25/2019 SQL-seminarski
11/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
7/25/2019 SQL-seminarski
12/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
c)Na"isati soj$ so"sten$ a"!ikacij$# koristei je%an o% mnogi+ "o%r/ani+ "rogramski+ je&ika
12
Slika 4.
7/25/2019 SQL-seminarski
13/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
PO"LAVLJE 3C OSNOV0 SQL1a
3.1. U%0
Potrebno je napomenuti da su ne%e Postgre/0 $un%cije proirenje standardniB. U sledeim primerimoslanjamo se na pretpostav%u da se nastavlja rad na pretBodno napravljenoj m+db bazi i da je po%renut programpsl.
3.2. K%)($i
Postgre/0 je relacioni sistem za upravljanje bazama podata%a. ,o znai da je u pitanju sistem za upravljanpodacima %oje su smeteni u relacijama C esencijalno matemati%i izraz za tabelu.
va%a tabela se sastoji od imenovaniB redova. va%i red ima iste %oloneD a sva%a %olona sadr"i speci$ine tipovpodata%a.
,abele su grupisane u baze podata%aD a vie baza podata%a %ojima se upravlja jednim Postgre/0 serveromine %laster >en. cluster C grozd@ baze podata%a.
3.3. K&(i&a)'( $a*(/(
,abela se mo"e %reirati odabirom imena tabeleD zajedno sa nazivima %olona i tipovima podata%aF
Ka%o dolazi do preloma redovaD u psl=u e %reiranje ove tabele izgledati ova%oF
13
!"$% %$ )reme A grad )archarA
7/25/2019 SQL-seminarski
14/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
psl prepoznaje da %omanda nije zavrenaD sve do poslednje linije .?azmaci se mogu slobodno %oristiti u /0 %omandama. ,o znai da je mogue %ucati %omande u novom reddrugaije poravnate nego one u gornjim redovimaD a% je sve mogue napisati u jednoj liniji. O==najavljuju %omentar. ;ta god da iza njiB sledi bie ignorisano sve do %raja linije. /0 je Ocasse insensitive%omande se mogu pisati veli%im ili malim slovima ali je elegantnije pisati iB veli%im slovima zbog preglednosti
)archarAen. %e+ Gords@ osim %ada se to zaBteva za podr%u u specijalnimsluajevima /0 standarda.
ledei primer predstavlja pravljenje tabele sa gradovima i njiBovom geogra$s%om lo%acijomF
pointje primer speci$inog Postgre/0 tipa podata%a.
)a %rajuD treba spomenuti da u%oli%o odre-ena tabela vie nije potrebna ili u%oli%o se ona "eli ponovo %reiratmo"e se u%loniti %omandomF
3.3.1. K&(i&a)'( *a+( i $a*(/( #a PA0i)
U%oli%o baza ve nije %reiranaD mo"emo je napraviti odabirom opcije Edit)eG &bject)eG
7/25/2019 SQL-seminarski
15/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
ledei %ora% je popunjavanje prozora %ao na slici 6. Potrebno je dati ime bazi >i ovaj put je to m+db@ i dodeliti jovlasni%a. 'udui da je do sada napravljen samo jedan %orisni%i nalogD postgresD ni%a%va druga opcija poR&GnerS i ne mo"e stajati. ovaj putD %ao i prili%om dodavanja servera %oristimo template 1.
,ab /0 nam omoguava uvid %a%o sve to izgleda u /0 %odu >sli%a #@F
1"
slika 5.
slika .
7/25/2019 SQL-seminarski
16/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
)a slici 8 je pri%azano %reiranje tabele. &dabira s
erversseminars%i
7/25/2019 SQL-seminarski
17/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
)a drugom tabuD olumns >%olone@D vri se %reiranje %olona. Kli%om na dugme Add dobija se prozor u %om supisuje ime %olone >Ograd@D tip podat%a >OvarcBar>8(@@D opciono O)ot )U00 i eventualno %omentar >Oime grada@
Postupa% se ponovi onoli%o puta %oli%o je %olona predvi-eno i na %raju tab olumns izgleda %ao na slici 11. )aslici 12 je pri%azan tab /0F
1$
slika 1$.
slika 11.
7/25/2019 SQL-seminarski
18/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
3.4. P%,)'aa)'( $a*(/( &(0%ia
Ma popunjavanje tabele redovma se %oristi %omanda+*'"%(
,reba primetiti da svi tipovi podata%a %oriste oigledne ulazne obli%e. Konstante %oje nisu jednostavne numeri%vrednosti obino moraju biti pod navodnicima >T@D %ao u ovom primeru. ,ipdate je prilino $le%sibilan u priBvatanj
upisaniB podata%a.,ippointzaBteva par %oordinata za ulazni podata%F
li
inta%sa %oriena do sada zaBteva pamenje poret%a %olona. Alternativa je sinta%sa %oja omoguava e%spicitnnavo-enje %olonaF
Kolone se mogu izlistati u redosledu drugaijem nego to su u samoj tabeliD a%o se ne "eli popuniti ne%a %olona a%o su npr. Opadavine nepoznateF
1%
+*'"% +*%9 )reme I$,' AJ*o)i 'adJ 12 21 =.= J2==-=5-2
7/25/2019 SQL-seminarski
19/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
Popunjavanje je ta%o-e mogue %orienjem %omande!9Mza uitavanje veli%iB %oliina podata%a iz te%stualndatote%e. )a ovaj nain se popunjavanje obino izvede br"e zato to je!9M%omanda optimizovana za daapli%acijuD ali je manje $le%sibilna nego %omanda+*'"%.
)a primerF
gde ime datote%e za izvornu datote%u mora biti dostupna serveruD ne %lijentuD budui da server ita $ajl dire%tno.
3.4.1. P%,)'aa)'( $a*(/( &(0%ia #a PA0i)
7/25/2019 SQL-seminarski
20/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
2'
7/25/2019 SQL-seminarski
21/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
3.5. Ui$i
=.=C
grad Q tempFnis Q tempF)is Q pad) Q datum----------G----------G----------G------G------------*o)i 'ad Q 3 Q 12 Q =. Q 2==-=5-2KA1 rowB
7/25/2019 SQL-seminarski
22/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
,a%o-e je mogue zaBtevati da rezultati upita budu izlistani u "eljenom redosleduF
?ezultatF
U ovom primeruD redosled ispisa nije potpuno speci$iciran. ledi primer %oji ispisuje rezultat po tano tra"enom
redosleduF
?ezultatF
o"e se zaBtevati i da dupirani redovi budu u%lonjeni iz rezultata upitaF
?ezultatF
u ovom sluajuD ispis redova mo"e da varira.
7/25/2019 SQL-seminarski
23/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
se %oriste D+'%+*!%i 9"D" M:
U ne%im sistemima za upravljanje bazama podata%aD u%ljuujui i starije verzije Postgre/0=aD %orienDISTINCTautomats%i ispisuje redove po redosledu i ORDER B je nepotrebno. Ali ovo nije zaBtevano /standardom i Postgre/0 ne garantuje da e samo %orienje DISTINCTispisati redove po "eljenom redosledu
3.5.1. Ui$i #a PA0i)
%onica /0 alata je pri%azanana slici 16. ?ezultat upita jepri%azan na slici 1#.
23
'!% D+'%+*!% cit 7"9N weather 9"D" M citC
slika 1.
0 alat
slika 1".
7/25/2019 SQL-seminarski
24/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
3.6. U0&,7ia)'( $a*(/a
Upiti mogu da pristupe u vie tabela istovremeno ili da pristupe jednoj tabeli ta%o da vie redova tabele budobra-eni u isto vreme. Upit %oji pristupa %a vie redova jedne tabele ili %a razliitim tabelama istovremeno snazivajoinupit. ?ecimo da se "ele izlistati svi vremens%i zapisi zajedno sa lo%acijom grada. @F
?ezultatF
'udui da sve %olone imaju razliita imena automats%i se prepoznaje %ojoj tabeli %olona pripadaD ali je dobrosamostalno de$inisati imena %olonaF
2!
'!% P 7"9N )reme grado)i ;O" grad @ naHi)C
grad Q tempFnis Q tempF)is Q pad) Q datum Q naHi) Q lokaci8a
-----------G----------G----------G------G------------G-----------G---------------*o)i 'ad Q 12 Q 21 Q = Q 2==-=5-2< Q *o)i 'ad Q A1K.3143.2B*o)i 'ad Q 3 Q 12 Q =. Q 2==-=5-2K Q *o)i 'ad Q A1K.3143.2BLren8anin Q E Q 14 Q Q 2==-=5-2K Q Lren8anin Q A2=.2343.22BA5 rowsB
'!% grad tempFnis tempF)is pad) datum lokaci8a 7"9N )reme grado)i ;O" grad @ naHi)C
grad Q tempFnis Q tempF)is Q pad) Q datum Q lokaci8a-----------G----------G----------G------G------------G---------------*o)i 'ad Q 12 Q 21 Q = Q 2==-=5-2< Q A1K.3143.2B*o)i 'ad Q 3 Q 12 Q =. Q 2==-=5-2K Q A1K.3143.2BLren8anin Q E Q 14 Q Q 2==-=5-2K Q A2=.2343.22B
A5 rowsB
'!% )reme.grad )reme.tempFnis )reme.tempF)is )reme.pad) )reme.datum grado)i.lokaci8a 7"9N )reme grado)i ;O" grado)i.naHi) @ )reme.gradC
7/25/2019 SQL-seminarski
25/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
stovetan rezultat se dobija i ova%vom $ormomF
)a sledeem primeru e biti pri%azano reenje za pretBodnu situaciju %ada u tabeli Ogradovi ne postoji zapis sagradom %oji se pojavljuje u tabeli OvremeD a "elimo da ga izlistamo u join upitu. Prvo je potrebno napraviti ta%vusituaciju unoenjem jo jednog grada u tabelu Ovreme
&no to "elimo jeste s%eniranje tabele vreme i za sva%u %olonu pronai par u tabeli gradovi. A%o par ne posto"elimo da Oprazne vrednosti zamenjene za %olene tabele gradovi. ,a%va vrsta upita se naziva outer join.
KomandaF
?ezultatF
&vaj upit se naziva !e(t o$ter join zbog toga to e u tabeli na levoj strani u ispisu biti pri%azane sve %olonnajmanje jednomD a u ispisu tabele na desnoj strani e biti pri%azane samo oni redovi %oji odgovaraju redovimleve tabele.
,a%o-e je mogue join jedne tabele i to se naziva se!( join. )a primerD "ele se videti svi zapisi vreme %oji su temperaturnoj zavisnosti od drugiB vremens%iB zapisa. MnaiD potrebno je porediti tempFnisi tempF)iskolonod sva%og vreme reda satempFnisi tempF)is%olonama drugiB vreme redova.
UpitF
&va%av nain preimenovanja dosta mo"e da pomogne u brzini rada i dosta se esto %oristi. )prF
2"
'!% P 7"9N )reme +**" R9+* grado)i 9* A)reme.grad @ grado)i.naHi)BC
+*'"% +*%9 )reme I$,' AJeogradJ 4 11 =.3 J2==-=5-2KJBC
'!% P
7"9N )reme 7% 9,%" R9+* grado)i 9* A)reme.grad @ grado)i.naHi)BC
grad Q tempFnis Q tempF)is Q pad) Q datum Q naHi) Q lokaci8a-----------G----------G----------G------G------------G-----------G---------------*o)i 'ad Q 12 Q 21 Q = Q 2==-=5-2< Q *o)i 'ad Q A1K.3143.2B*o)i 'ad Q 3 Q 12 Q =. Q 2==-=5-2K Q *o)i 'ad Q A1K.3143.2BLren8anin Q E Q 14 Q Q 2==-=5-2K Q Lren8anin Q A2=.2343.22Beograd Q 4 Q 11 Q =.3 Q 2==-=5-2K Q Q4 rows
'!% ;1.grad ;1.tempFnis $' niska ;1.tempF)is $' )isoka ;2.grad ;2.tempFnis $' niska ;2.tempF)is $' )isoka
7"9N )reme ;1 )reme ;2 ;O" ;1.tempFnis S ;2.tempFnis $*D ;1.tempF)is > ;2.tempF)isC
'!% P 7"9N )reme w grado)i c ;O" w.grad @ c.naHi)C
7/25/2019 SQL-seminarski
26/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
3.. A&(a$)( 8,)9i'(
Kao i veina drugiB realacioniB baza podata%aD Postgre/0 podr"ava agregatne $un%cije. Agregatne $un%cijraunaju rezultat vie ulazniB redova. )a primerD postoje agregatne $un%cije zacount( sum( a)g >prose%@( ma>maLimum@imin>minimum@.
Kao primerD mo"e se pronai najvia nis%a temperatura upitomF
?ezultatF
A%o se "eli dobiti %oji je grad %od %og se javlja pretBodna temperaturaD mo"e se po%uati sledeeF
?ezultatF
5re%a se pojavila poto agregatna $un%cija maL ne mo"e biti %oriena u 9E?E odredbi. &va restri%cija posto
zato to 9E?E odredba odre-uje redove %oji e ii u agregacijuD ta%o da mora biti razvijena pre nego sizrauna agregatna $un%cija. &va%va situacija se mo"e reiti %oritenjem podupitaF
?ezultatF
&va%av upit je u redu i ne prijavljuje gre%u poto je podupit nezavisan.
Agregatne $un%cije su ta%o-e %orisne u %ombinaciji sa 0"9, M uslovima. )a primerD mo"e se dobma%simalna nis%a temperatura posmatajui sva%i grad ponaosob
2#
'!% maAtempFnisB 7"9N )remeC
'!% grad 7"9N )reme ;O" tempFnis @ maAtempFnisBC
""9"( aggregates not allowed in ;O" clause
'!% grad 7"9N )reme ;O" tempFnis @ A'!% maAtempFnisB 7"9N )remeBC
grad----------*o)i 'adA1 rowB
'!% grad maAtempFnisB 7"9N )reme 0"9, M gradC
ma----- 12A1 rowB
7/25/2019 SQL-seminarski
27/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
?ezultatF
?ezultat daje po jedan izlazni red po gradu. &vi grupisani redovi se mogu $iltrirati %oristei O$I+*0:
?ezultatF
7/25/2019 SQL-seminarski
28/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
3.:. O#(7aa)'(
Postojei redovi se mogu osve"iti %oristei %omandu UP
7/25/2019 SQL-seminarski
29/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
3.1
7/25/2019 SQL-seminarski
30/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
adaD a%o se po%ua uneti neodgovarajui zapisF
3.1
7/25/2019 SQL-seminarski
31/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
)a sledeem tabu se de$inie zavisnost %olona izme-u dve tabeleD u ovom sluaju grad i naziv >sli%a 22@. )a slic23 su pri%azane sve mogue %ombinacije vezane za *oreign Ke+.
U%oli%o sada po%usamo da unesemo 'eograd u tabelu vremeD nee nam biti dozvoljeno budui da u tabegradovi ne postoji odgovarajui zapis >sli%a 24@.
31
slika 22. slika 23.
slika 24.
7/25/2019 SQL-seminarski
32/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
3.1
7/25/2019 SQL-seminarski
33/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
Primer savepointa se mo"e izvesti na pretBodnim primerima C pretpostav%a je da je potrebno prebaciti odre-ensumu novca sa Alisinog na 'obanov raunD ali se na%nadno primeti da je bilo potrebno %reditirati Perin nalogF
3.1
7/25/2019 SQL-seminarski
34/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
U ovom sluajuD redovi tabeleprestonice nas!e2$j$ sve %oloneAime populaci8a i nadmF)isBod svoje starije tabelegrado)i. ,ip %olone ime jetet prirodni Postgre/0 tip za du"inu varijabli. ,abelaprestonice ima jednu %olonu vieD drzavaD %oja e pri%azati u %ojoj dr"avi je data prestonica. U Postgre/0=uDtabela mo"e naslediti od nule do vie drugiB tabela. U tabelu gradovi se ne unose upisi prestonica.)a primerD sledei upit pronalazi imena gradovaD u%ljuujui prestonice %oje se nalaze na nadmors%oj visini veood ! metara.
?ezultatF
U sledeem primeruD upit pronalazi sve gradove %oji nisu prestonice a nalaze se na nadmors%oj visini veoj od !(metaraF
?ezultatF
)li( samo prestonice:
?ezultatF
3!
ime Q nadmF)is-----------G----------*o)i 'ad Q 3=C
'!% ime nadmF)is 7"9N 9*M grado)i ;O" nadmF)is > 3=C
ime Q nadmF)is-----------G----------*o)i 'ad Q
7/25/2019 SQL-seminarski
35/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
&vde %omanda &)0J pre gradovi zaBteva da se upit vri samo nad tabelom gradoviD ne i u tabelama %oje szavisne od nje.
3.1
7/25/2019 SQL-seminarski
36/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
PO"LAVLJE 4CAD3INIST4ACIJA S04V04A
4.1. P%#$&(SQL 9%&i#)i9i )a/%+i
Kao i drugi deamon serveri %oji su dostupni iz Ospoljnjeg sveta preporuljivo je po%retati Postgre/0 poodvojenim %orisni%im nalogom. ,a%av nalog treba da je vlasni% samo podata%a %ojima upravlja serverD i ne trebbiti deljen sa ostalim daemonima.
Ma dodavanje %orisni%a na UniL sistemima %oristi se %omanda useradd or adduser %a%o je ve pretBodnnavedeno.
4.2. K&(i&a)'( 9/a#$(&a *a+( %0a$a9aPrvo je potrebno de$inisati prostor na dis%u za bazu. /0 %oristi termin %atalog %laster a Postgre/0 %laster bazpodata%a. Klaster baze podata%a je s%up baza %ojima se upravlja jednim po%retanjem date baze. )a%oinicijalizacije %laster baze podata%a e po%retati bazu pod imenom postgresD %oja je de$ault baza. am servebaze podata%a ne zaBteva postojanja pomenute bazeD ali mnogi drugi pomoni programi pretpostavljaju da onpostoji.
Klaster baze podata%a e biti jedan dire%torijum u %om e biti poBranjivani svi podaci. )aziv je %irektorij$m"o%atakaili o5!ast "o%ataka. Po osnovnim postav%ama nema tano odre-enog dire%torijuma %oji e slu"iti za tomada se najee %oriste /usr/local/pgsql/data ili /)ar/lib/pgsql/data.
7/25/2019 SQL-seminarski
37/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
initdb nee priBvatiti po%retanje u%oli%o dire%torijum podata%a ve postoji.
'udui da su u dire%torijumu podata%a smeteni svi podaci neopBodno je da on bude zatien oneautorizovanog pristupa. Mbog toga e initdb odbijati pristup sva%ome osim Postgre/0 %orisni%u.
Ka%o godD do% je sadr"aj dire%torijuma osiguranD po osnovnim postav%ama autorizacije %lijenta dozvoljeno j%one%tovati se na bazu podata%a i a% postati super%orisni%. Mato se preporuuje %orienje jedne od dve opcijeinitdbs -;( --pwpromptili--pwfileza dodeljivanje lozin%e super%orisni%u baze podata%a.
4.3. P%9&($a)'( #(&(&a *a+( %0a$a9a
Pre nego to se pristupi bazi podata%a potrebno je po%renuti server. Program servera baze podata%a se zovpostmaster i on mora znati gde se nalaze podaci %oje treba da %oristi. Komanda
ostavlja server da radi vidljiv. &va %omanda se mo"e %oristiti samo u%oli%o je ulogovan Postgre/0 %orisni%nalog. 'olje je %oristiti postmaster ta%o da radi u pozadiniF
Program postmaster poseduje veli%i broj drugiB opcija u %omandnoj linijiD to brzo mo"e postati naporno z%orienje. Mato se mo"e %oristiti program pgWctlD na primer %omandaF
po%ree server u pozadini i postavlja izlaz u unapred odre-eni log $ajl.
)ajbolje je naravno da se server startuje prili%om podizanja operativnog sistema. %ripte za autostart sspeci$ine za sva%i operativni sistemD a uz Postgre/0 dolazi ne%oli%o s%ripti u contrib/start-scriptdire%torijumu. nstaliranje noviB zaBteva root privilegije.
?azliiti operativni sistemi imaju razliite %onvencije za startovanje daemona prili%om podizanja sistema. no
sistemi imaju $ajl/etc/rc.localili /etc/rc.d/rc.local. logfile 2>&1 &
pgFctl start -l logfile
7/25/2019 SQL-seminarski
38/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
4.4. M%,( &(9( &i/i9% %0i+a)'a #(&(&a
)e%oli%o grea%a se dosta esto ponavljaju. Prili%om podizanja servera je mogue dobiti poru%uF
)ajeee ovo znai da se po%uano po%retanje jo jednog postmastera na ve zauzetom portu >od strandrugog postmastera@.
liD u%oli%o je prijavljena$ddress alread in use ili ne%a varijanta te gre%e od strane %ernelaD problem jdruge prirode. )a primerD u%oli%o "elimo po%renuti postmaster na ne%om rezervisanom portuF
li gre%aF
najverovatnije znai da je limitirana veliina deljene memorije od strane %ernela manja od radne oblasti %oj
Postgre/0 "eli da %reira >4(113#664( bitova u ovom primeru@.
4.5. M%,( &(9( &i/i9% 9%)(9$%a)'a 9/i'()a$a
ada su ova%ve gre%e najee uzro%ovane samom apli%acijomD mogue su i gre%e uzro%ovane nainom %a%je server startovan. 5re%aF
)ajee je uzro% ova%ve gre%e neomoguavanje ,P7P %one%cije prili%om %on$iguracije servera.liF
Poslednja linija je %orisna poto po%azuje da li %lijent po%uava da se %one%tuje na pravo mesto. U%oli%o ntra"enom mestu zaista nije po%renut serverD tipina poru%a e biti ili!onnection refusedili *o such filor director( %a%o je i pretBodno ilustrovano. Pri tomeD treba imati na umu da !onnection refusedn
3%
90( could not bind +)4 socket( $ddress alread in use
O+*%( +s another postmaster alread running on port 34526 +f not wait afew seconds and retr.7$%$( could not create %!/+ listen socket
# postmaster -p 22290( could not bind +)4 socket( ermission denied
O+*%( +s another postmaster alread running on port 2226 +f not wait afew seconds and retr.7$%$( could not create %!/+ listen socket
7$%$( could not create shared memor segment( +n)alid argumentD%$+( 7ailed sstem call was shmgetAke@344===1 siHe@4=115E4= =5==B.
psql( could not connect to ser)er( !onnection refused +s the ser)er running on host ser)er.8oe.com and accepting %!/+ connections on port 34526
psql( could not connect to ser)er( *o such file or director +s the ser)er running locall and accepting connections on ,ni domain socket /tmp/.s.0'.34526
7/25/2019 SQL-seminarski
39/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
znai da je server priBvatio %one%ciju a zatim je odbio.
npr. root = u %rajnjem sluaju@.
,ada se uspostavlja tunel sa %lijents%e maine %omandomF
Prvi brojD 3333 je broj porta na %lijents%om %raju tunela C on mo"e biti odabran slobodno. ledei brojD !432 jbroj porta udaljenje maine C broj porta %oji %oristi server. me ne%iWserver.co.+u ili P adresa npr 212.62.LL.LL jime maine na %ojoj se nalazi Postgre/0 server. ne%o je naziv %orisni%og naloga na udaljenoj maini. Prvo s%one%tuje na port 3333 na lo%alnoj mainiF
erver proverava da li je zaista u pitanju %orisni% ne%oXne%iWserver.co.+uU%oli%o je dozvoljena sigurna ss%one%cija za pomenutog %orisni%aD podeavanje tunela e biti uspeno.
4.:. U/%( i &ii/(i'( *a+( %0a$a9aPostgre/0 upravlja dozvolama za pristup bazi podata%a %oristei %oncept $!oga >ro!es@. Uloga mo"e borganizovana %ao %orisni% baze podata%a ili %ao grupa %orisni%a. Uloge mogu biti vlasnici obje%ata baze podata%>tabelaD npr@ i mogu dodeljivati privilegije za navedene obje%te drugim ulogamaD a% je mogue dodeljivanj)!anstadrugim ulogama dozvoljavajui drugim ulogama privilegije %oje i sami imaju.Koncept uloga obuBvata %oncept O%orisni%a i Ogrupa. U verzijama Postgre/0=a starijim od verzije 8.1. %orisnicgrupe su bili odvojene vrste entitetaD ali od pomenute verzije u pitanju su samo uloge. 'ilo %oja uloga se mo"ponaati %ao %orisni%D grupa ili oboje.
3&
ssh - 5555(nekiFser)er.co.u(3452 nekoWnekiFser)er.co.u
psql -h localhost -p 5555 postgres
mailto:neko@nekimailto:neko@neki7/25/2019 SQL-seminarski
40/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
4.:.1. U/%(
Ma %reiranje uloge %oristi se %omanda ?EA,E ?&0E F
Ma u%lanjenje uloge %oristi se %omanda
7/25/2019 SQL-seminarski
41/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
9&(i&a)'( *a+( %0a$a9a
Uloga mora imati e%splicitnu dozvolu za %reiranje baze >osim za super%orisni%a@. KomandaF
9&(i&a)'( ,/%(
Uloga mora imati e%splicitnu dozvolu za %reiranje drugiB uloga >osim za super%orisni%a@. &va%o %reiranuloga mo"e izmeniti ili ponititi druge uloge. Komanda
/%+i)9a
0ozin%a je znaajna samo %ada je metod za autorizaciju %lijenta zaBteva prili%om %one%tovanja na bazu
&ve lozin%e nemaju ni%a%vu vezu sa lozin%ama za operativni sistem. KomandaF
4.:.3. P&ii/(i'(
Kada je ne%i obje%at %reiranD dodeljen mu je vlasni%D najee je to uloga %oja ga je %reirala. Ma najvei broobje%ataD ta uloga je jedini vlasni% >ili super%orisni%@ i jedino ona mo"e da vri bilo %a%ve operacije nad njom. ili ne%i drugi obje%atD np$un%cija@.
Prili%om %one%tovanja na server baze podata%aD %lijent mora da speci$icira naziv baze %ojoj "eli da pristupi. )ijmogue pristupiti na vie baza istovremeno prili%om iste %one%cije >ali apli%acije nisu ograniene u broj%one%cija@. 'aze su $izi%i razdvojene.
'aza se %reira sa ?EA,E
7/25/2019 SQL-seminarski
44/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
,o u principu znai da sva%a promena nad bazom template1 utie na sve budue %reirane baze. togaD templatene bi trebala da slu"i za stvaran rad.
Kao ola%anje postoji program %oji se mo"e po%renuti iz terminala a %ojim se %reira baza - createdb.
Pone%ad je potrebno %reirati bazu za ne%og drugog. ,a uloga bi trebala da bude vlasni% nove baze. Komanda z/0 o%ru"enjeF
li u terminalu
)aravnoD potrebno je biti supe%orisni% da bi se mogla %reirati baza za ne%og drugog.
5.3. Ga*/%)i *a+a %0a$a9a
?EA,E
7/25/2019 SQL-seminarski
45/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
nicijalno %reiranje tablespaces je dozvoljeno samo super%orisni%uD ali na%on toga se mo"e omoguiti privilegijbilo %om %orisni%u za njeno %orienje.
7/25/2019 SQL-seminarski
46/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
PO"LAVLJE 6C ,ACKUP i 40STO40
Kao i sve to sadr"i dragocene podat%eD i Postgre/0 bi trebalo be%apovati >praviti rezervnuD sigurnosnu %opijuredovno. Postoje tri $undamentalno razliita pristupa za be%apovanje Postgre/0 podata%a.
/0 dump
'e%ap $ajl sistem nivoa
&n=line be%ap
va%i od ova tri pristupa ima svoje snage i slabosti.
6.1. SQL D,
deja metoda jeste generisanje te%stualnog $ajla sa /0 %omandama ta%o da na%on uvo-enja na server ponov%reira bazu ona%va %a%va je bila u trenut%u izvrenja /0 na primer %omandom
!#
pgFdump bpime> outfile
psql bpimeS infile
7/25/2019 SQL-seminarski
47/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
@.
)e samo da "eljena baza mora postojati pre obnavljanjaD nego moraju postojati i svi %orisnici %oji su bili vlasnicobje%ata u be%apovanoj bazi. )aravnoD u%oli%o ne%i od tiB %orisni%a ne bude postojaoD obnavljenje baze se neizvriti zbog gre%e u zapisu o vlasnitvu i dozvolama nad obje%tima.
Kada je baza obnovljenaD savetuje se po%retanje A)A0JME. KomandaF
pgWdump i psl imaju mogunost dump=a baze dire%tno sa jednog servera na drugiD na primer
Ma be%apovanje celog %lastera %oristi se program pgWdumpallD program %oji be%apuje sva%u bazu u %lasteru
ujedno uva podat%e o %orinicima i grupama. KomandaF
&bnavljanjeF
6.1.2. U&a/'a)'( (/i9i *a+aa
Ka%o Postgre/0 dozvoljava tabele vee od ma%simalne veliine datote%e na operativnom sistemu javlja sproblem damp=ovanja ta%ve tabele u datote%u. 'udui da pgWdump mo"e da zapisuje u standardni izlazD dovoljnje %oristiti standardne UniL alat%eF
K%&(#%a)'( 0,-a H mo"e se %oristiti bilo %oji program za %ompresovanjeD na primer gzip
Ponovo se po%ree sa
ili
!$
createdb -% template= bpime
)acuumdb -a -Hto I$!,,N $*$MLall databases;
pgFdump -h host1bpimeQ psql -h host2bpime
pgFdumpall > outfile
psql -f infilepostgres
pgFdump bpimeQ gHip > imefajla.gH
createdb bpime
gunHip -c imefajla.gH Q psql bpime
cat imefajla.gH Q gunHip Q psql bpime
7/25/2019 SQL-seminarski
48/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
D(/'()'( 0a$%$(9a #a #/i$.
7/25/2019 SQL-seminarski
49/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
pad sistemaD baza mo"e biti podignuta Oponavljanjem doga-aja.ogue je %ombinovati be%ap $ajl sistem nivoa i be%ap A0 datote%a. U%oli%o je be%ap potrebanD uradi se restorbe%apa a onda se ponavljenjem doga-aja baza dovodi do poslednjeg stanja. &vaj pristup je najslo"enijiD ali imne%e va"ne prednostiF
)ije potreban potpuno dosledan be%ap u samom startu. va%a nedoslednostD ne%onzistentnost e bispravljena iz postojeeg loga.
)ije neopBodno ponoviti A0 datote%e od starta do samog %raja. amim timD ova teBni%a podr"ava "oinin1time recoer8C mogue je obnoviti bazu na stanje %a%vo je bilo u bilo %om vremens%om periodu.
U%oli%o se %ontinualno A0 datote%e poBranjuju na ne%u drugu mainuD postojae jo jedna %opija baze
Uz pomo ovog metoda mogue je obnoviti celi %laster baze podata%a ali ne i podgrupe. ,a%o-eD zaBtevan je i ppitanju veliine podata%a i %oliini mre"nog saobraajaD no i dalje je to najpreporuljivija metoda u situacijam%ada se zaBteva viso%a pouzdanost.
Korienje metode on=line be%apa zaBteva nepre%inutu se%vencu A0 datote%a %oje se vremens%i prostirnajmanje od poet%a be%apa.
7/25/2019 SQL-seminarski
50/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
%ompletnu putanju do meste gde se "eli sauvati be%ap $ajl@
3. zvesti be%apD %oristei bilo %oju $ajl sistem alat%u %ao to su tar ili cpio
4. Ponovo se %onet%tovati na bazu %ao super%orisni% i dati %omandu
!. Kada su A0 segment $ajlovi arBivirani %ao deo redovne a%tivnosti bazeD proces je zavren
6.3.3. O*)a/'a)'( #a %)-/i)( *(9a &i#$,%
ProceduraF
1. Maustaviti postmasterD u%oli%o je po%renut
2. U%oli%o postoji mestaD %opirati celi %laster dire%torijuma podata%a i tablespaces ne ne%u privremenlo%aciju za sluaj da zatrebaju na%nadno.
3. &istiti sve postojee $ajlove i poddire%torijume u %lasteru dire%torijuma podata%a i pod root dire%torijumza sva%i tablespaces %oji se %oristi.
4. &bnoviti bazu. 'iti oprezan da se baza obnavlja pod pravilnim vlasnitvom i sa pravilnim dozvolam>ni%a%o %ao root ve %ao %orisni% baze podata%a@ .
". U%loniti bilo %oji $ajl prisutan upgFlog/; u%oli%opgFlog/nije arBiviran uopteD potrebno ga je ponov%reirati i biti siguran da je %reiran i poddire%torijumpgFlog/archi)eFstatus/ta%o-e.
#. U%oli%o postoje nearBivirani A0 segment $ajlovi %oji su sauvani u %ora%u 2D %opirati iB upgFlog/.
$. Kreirati $ajl za %omandu obnavljanjareco)er.confu %lasteru dire%torijuma podata%a.
%. Po%renuti postmaster. &n e preimenovati $ajlreco)er.confureco)er.done.. Proveriti sadr"aj baze da bi se uverili da je obnavljanje uspeno ura-eno. U%oli%o nijeD potrebno je vrat
se na %ora% 1.
"'
'!% pgFstopFbackupABC
7/25/2019 SQL-seminarski
51/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
PO"LAVLJE C7AKLJU9AKBilo bi +eoma opirno na o+om mestu deedini detal>i.9sno+na prednost 0inu?-a >este sta&i#nost i sig'rnost. Prema kompani>i ymantec posto>i oko 12'''+irusa ko>i napada>u @indo=s i oko "'' ko>i napada>u 0inu? A 0inu? >e siurni>i i man>e ran>i+. sleentuzi>azma open source za>ednice uoCeni problem sa ran>i+o*u operati+no sistema se rea+a proseCnza nedel>u dana. od @indo=sa 9 se na DzakrpuE Ceka proseCno oko !" dana. proseku( @indo=Dnezakrpl>enaE maina bude napadnuta nakon >edno sata pro+edeno na internetu. (ena OSA cena o13'F za ,samo @indo=s u odnosu na cenu skidan>a 0inu?-a sa interneta ili cenu rezan>a nekolikpraznih cd medi>a. Gene dodatnih prorama znatno po+e*a+a>u o+u razliku. za+isnosti od toa ko>a s
distribuci>a 0inu?a koristi( one ukl>uCu>u i mou*nost instaliran>a i do nekoliko hil>ada prorama tokomsame instalaci>e sistema. Po!esi)ost i ontro#a 0inu?-a ko>i doz+ol>a+a direktan pristup Cita+omsistemu. 9 )a#itet'0inu?-a o+ori podatak da oko #'H ser+era radi pod o+im operati+nim sistemomda a koristi ianti pout 544-e( oola( )BI-a( 5o+ella... 0inu? se koristi od desktop raCunarapreko mobilnih telea do superkomp>utera. Veliki bro> preduze*a( banaka( uni+erzitetinternet pro+a>dera i ser+era( a sad i s+e +e*i bro> korisnika koristu ba 0inu? za 9. Inoe a>u da ni>e potrebno ulaati hil>ade e+ra na Iicrosoi nisu bezbednsiurni( a ni stabilni poput 0inu?a. +e >e +e*i bro> dr7a+nih administraci>a ko>e prelaze sa @indo=s-na 0inu?.0inu? >e zbo s+o>e cene naroCito interesantan u zeml>ama u raz+o>u. onkretno( u naem sluCa>unakon >edne deceni>e maksimalno rasprostran>ene pirateri>e preduze*a i dr7a+ne ustano+e ima>u presobom izbor A platiti mnoo za posto>e*i 9 ili pre*i na 0inu?. 5edostaci prelaska na 0inu? s
nedo+ol>na ine potrebno ulo7iti u n>iho+u obuku( i pre s+ecena miraci>e.)nteresantan >e i podatak da su 5 preporuCile s+o>im Clanicama kori*en>e open source soima zdra+st+a( pros+ete i meJunarodne tro+ine. 5aznaCeno >e da >e prema 5 opesource na>adek+atni>e sredst+o za raz+o> s+o>ih Clanica.
Postre0 baza podataka( iako ni>e na>br7a( na mnoim testo+ima >e okarakterisana kao na>napredni>baza podataka. )nspirisana >e 9raclom i od samo starta podr7a+a transakci>e( triere( realninteritet. Preporuke za n>eno kori*en>e su +ie u pra+cu pro+ereno k+aliteta i robustnosti neo sami
"1
7/25/2019 SQL-seminarski
52/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
per( prikazana >e tabela odnosa nekoliko na>popularni>ih baza2:
*eat're SQL Ser)er Ora+#e M,SQL PostgreSQL
9pen ource M M
Kree / 5o 0icense Gosts M M
4G)N Gompliant M M
45) 0 Gompliant M M M
e
7/25/2019 SQL-seminarski
53/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
DODATAKC PgAccess
PgAccess je jo jedan gra$i%i program za upravljanje Postgre/0 bazom. 'udui da je PgAdmin vepredstavljan uporedo sa terminals%i programom pslD ovde e u veoma %rat%im crtama biti naznaene samrazli%e PgAccessa u odnosu na PgAdminD odnosno opcije %oje PgAccess ima.
Prvo je potrebno s%inuti ga sa internetaD npr sa adreseF
BttpF77sGitcB.dl.source$orge.net7source$orge7pgaccess7pgaccess=(WW(W2((4(21.tgz
Postupa% instalacije je sledeiF
Po%ree se %omandom
5de je ime baze je nprmdb
Korisni%7userpostgres
0ozin%a7passGord C lozin%a usera postgres
7/25/2019 SQL-seminarski
54/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
)a%on %one%tovanja na bazuD dobijamo prozor sa sledee sli%e. U samom startu su oigledne razli%e dva ovdspomenuta gra$i%a programa za postgres. &vde e samo sli%om biti pri%azane mogunosti PgAccessa %ojPgAdmin nema.
"!
slika 2!.
slika 2#.
7/25/2019 SQL-seminarski
55/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
Vi#,a/ 0(#i)(&
/0 upite je mogue izvravati uz pomo /uer+ builderaD
ali >e iz /uer+ buildera moguepo%renuti Hisual designerF
""
slika 3$.
slika 31.
7/25/2019 SQL-seminarski
56/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
R(%&$#
"&a8i9%)i
"#
slika 32.
slika 33.
7/25/2019 SQL-seminarski
57/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
%& 0(#i)
"$
slika 34.
7/25/2019 SQL-seminarski
58/58
Seminarski rad PostgreSQL baza podataka na Linux operativnom sistemu
LITERATURA1. Postgre/0 8.1.3