4. diel - PostgreSQL - Export
Dnes si v PostgreSQL tutoriále vyskúšame vyexportovať našu databázu, čo sa nám bude určite mnohokrát hodiť. Opäť budeme používať iba prostredie pgAdmin.
Export (alebo aj "záloha") je súbor s SQL príkazmi, ktorý nám môže slúžiť na zálohu či migráciu databázy alebo len jej časti.
Export môžeme rozdeliť na:
- kompletný export - súbor bude obsahovať ako štruktúru tabuliek, tak aj ich dáta
- export štruktúry - súbor bude obsahovať iba štruktúru databázy takýto export môže obsahovať všetky alebo iba vybrané tabuľky
- takýto export môže obsahovať všetky alebo iba vybrané tabuľky
- export dát - súbor bude obsahovať iba dáta tabuliek tabuľky môžeme špecifikovať
- tabuľky môžeme špecifikovať
Najprv musíme mať nejakú databázu s dátami, aby sme ich
mohli exportovať. Pokiaľ žiadnu z minulých lekcií nemáme, môžeme si
databázu i tabuľku uzivatel
vytvoriť podľa tejto lekcie.
Pokiaľ v tabuľke nemáme žiadne záznamy, môžeme si ich pár znovu vložiť
týmto SQL príkazom:
INSERT INTO uzivatel (jmeno, prijmeni, datum_narozeni, pocet_clanku) VALUES ('Jan', 'Novák', '1984-11-03', 17), ('Tomáš', 'Marný', '1989-02-03', 6), ('Josef', 'Nový', '1972-12-20', 9);
Máme v databáze teda minimálne tri záznamy osôb:
Export dát
Skúsme si najprv exportovať dáta konkrétnej tabuľky. To môžeme urobiť tak, že pravým tlačidlom klikneme na danú tabuľku a zvolíme Import/Export...:Otvorí sa nám dialóg, v ktorom môžeme nastaviť, či chceme exportovať
alebo importovať a ďalšie podrobnejšie nastavenia, ako je napr.
formát a umiestnenie exportu,
kódovanie alebo separátor medzi
stĺpcami.
Z formátov máme na výber:
binary
- pre.bin
súborycsv
- pre.csv
súbory, využíva sa často na export do programu MS Exceltext
- pre.txt
súbory
My zvolíme export do formátu csv
a nastavíme umiestnenie
súboru. Kódovanie môžeme nechať nezvolené, v takom prípade sa zvolí
UTF-8
. Všetko ostatné necháme na východiskových
hodnotách:
CSV (C omma S eparated V alues) je formát ukladania dát do textového súboru, v ktorom sú dáta jednotlivých stĺpcov oddelené čiarkou. Jeden riadok tabuľky potom vždy zodpovedá jednému riadku v súbore.
V záložke Columns môžeme nastaviť, aké stĺpce chceme v exporte zahrnúť. My necháme predvolené nastavenia, teda všetky stĺpce:
Export potvrdíme tlačidlom OK:
pgAdmin nás hneď nato informuje o úspešnosti exportu.
Keď teraz otvoríme vygenerovaný súbor, tak uvidíme naše dáta:
1,Jan,Novák,1984-11-03,17 2,Tomáš,Marný,1989-02-03,6 3,Josef,Nový,1972-12-20,9
Súbor si uchovajte, budeme ho využívať pre budúci import
Export celej tabuľky
Pokiaľ chceme exportovať celú tabuľku, tzn. ako dáta, tak aj štruktúru tabuľky, tak musíme kliknúť pravým tlačidlom na danú tabuľku a zvoliť Backup...:V dialógu, ktorý sa nám otvorí, opäť môžeme zvoliť formát a umiestnenie exportu. Z formátov máme na výber:
Custom
- špeciálny archív typu.psql
. Tento formát ponúka možnosť vybrať, ktoré databázové objekty sa majú z exportu obnoviť. Taktiež podporuje kompresiu, ktorej pomer môžeme nastaviť nižšie (maximálna nastaviteľná hodnota je9
).Tar
- archív typu.tar
. Nepodporuje kompresiu.Plain
- súbor s SQL príkazmi pre vygenerovanie databázyDirectory
- zložka s binárnym súborom pre každú tabuľku
My zvolíme možnosť Custom
a nastavíme umiestnenie súboru.
Všetko ostatné opäť necháme na východiskových hodnotách:
V tomto prípade môžeme taktiež určiť tzv. rolu (možnosť
Role name). Tieto roly určujú oprávnenie na vykonanie
nejakej akcie na databáze alebo na jej časti. Zvolená rola musí
mať potrebné oprávnenia na vykonanie exportu a následného importu. Ako
východisková sa nastaví rola postgres
.
V záložke Dump options potom môžeme nastaviť ďalšie podrobnosti exportu. Napríklad ak chceme exportovať iba dáta alebo iba štruktúru (schéma), čo neukladať a mnohé ďalšie:
Export potvrdíme tlačidlom Backup:
pgAdmin nás hneď nato informuje o úspešnosti exportu.
Súbor si uchovajte pre budúci import.
Export celej databázy
Export celej databázy funguje skoro rovnako ako export celej tabuľky. Na databáze klikneme pravým tlačidlom, zvolíme Backup... av novootvorenom dialógu nastavíme formát a umiestnenie exportu:Export opäť potvrdíme tlačidlom Backup:
pgAdmin nás informuje o úspešnosti exportu.
Súbor si uchovajte pre budúci import.
V nasledujúcom kvíze, Kvíz - Tvorba, mazanie, vkladanie a export dát v PostgreSQL, si vyskúšame nadobudnuté skúsenosti z predchádzajúcich lekcií.