SQL-seminarski

  • 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@neki
  • 7/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