Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

5. diel - PostgreSQL - Import

V minulej lekcii, PostgreSQL - Export , sme si ukázali rôzne typy exportov databázy.

Dnes si v PostgreSQL tutoriáli vytvorenú zálohu (export) databázy a tabuľky z lekcie Export skúsime naimportovať, tzn. nahrať na server alebo databázu.

Všetky súbory, ktoré dnes budeme používať, si môžete stiahnuť na konci tejto lekcie, ak ich už nemáte.

Import celej databázy

Na import zálohy celej databázy potrebujeme mať už nejakú databázu vytvorenú. Je jedno, či je daná databáza prázdna alebo či už nejaké tabuľky obsahuje. My si ukážeme situáciu, kedy ešte nemáme žiadnu databázu, a preto si našu aktuálnu databázu zmažeme (klikneme na ňu pravým tlačidlom a zvolíme Delete/Drop):
Delete/Drop - PostgreSQL databázy krok za krokom

Teraz si ju opäť vytvoríme. Klikneme teda pravým na zložku Databases, zvolíme Create a Database...

Create > Database… - PostgreSQL databázy krok za krokom
Pomenovať ju môžeme rovnako ako tú predchádzajúcu, databaze_pro_web, a vytvorenie následne potvrdiť tlačítkom Save:
Dialóg na vytvorenie databázy - PostgreSQL databázy krok za krokom

Teraz sa už môžeme dať na samotný import. Využijeme na to súbor databaze_pro_web.psql, ktorý máme vygenerovaný, alebo ho nájdeme priložený na konci tejto lekcie. V pgAdmin klikneme pravým tlačidlom na našu novú databázu a zvolíme Restore...:

Restore… - PostgreSQL databázy krok za krokom

Konfigurácia ciest k utilitám

Je možné, že sa nám zobrazí dialóg vyzývajúci na to, aby sme si najprv nakonfigurovali cestu k niektorým potrebným utilitám, pokiaľ sme tak neurobili skôr. To vykonáme v nastavení (na hornej lište klikneme na File a potom Preferences) v záložke Binary paths. Tu k verzii servera, s ktorým pracujeme, zadáme cestu k priečinku bin/ tohto serveru:
Preferences - PostgreSQL databázy krok za krokom

Ak ste pri inštalácii zvolili východiskové umiestnenie, tak vaša cesta bude pravdepodobne podobná tej mojej, teda C:\Program Files\PostgreSQL\14\bin\.

Teraz opäť môžeme kliknúť pravým tlačidlom na databázu a zvoliť Restore.... Otvorí sa nám dialóg, v ktorom môžeme zvoliť formát importovaného súboru a jeho umiestnenie. Z formátov máme na výber iba:

  • Custom or tar - archív typu .psql alebo .tar
  • Directory - zložka s binárnym súborom pre každú tabuľku

Týmto spôsobom nie je možné naimportovať .sql súbor (pri exporte možnosť Plain).

Keďže náš súbor je typu .psql, tak zvolíme Custom or tar:

Restore dialóg – záložka General - PostgreSQL databázy krok za krokom

V záložke Restore options potom môžeme nastaviť ďalšie podrobnosti importu. Napríklad ak chceme exportovať iba dáta alebo iba štruktúru (schéma) a mnohé ďalšie:

Restore dialóg – záložka Restore options - PostgreSQL databázy krok za krokom

Tu stojí za zmienku predovšetkým položka Clean before restore. Tá zaistí vymazanie obsahu databázy pred samotným nahraním zálohy. Pri našej prázdnej databáze nemá jej začiarknutie veľmi význam, avšak ak zálohu nahrávate na databázu s už vytvorenými tabuľkami, tak túto položku určite zaškrtnite. V opačnom prípade by sa pgAdmin napr. snažil vytvoriť už existujúcu tabuľku, čo by viedlo k chybe a import by sa nemusel správne dokončiť.

Import potvrdíme tlačidlom Restore a pgAdmin nám oznámi jeho úspešnosť:

Restore completed - PostgreSQL databázy krok za krokom

Import celej tabuľky

Keďže máme vygenerovaný .psql súbor celej tabuľky uzivatel aj s jej dátami, tak si ju teraz skúsime naimportovať. Najskôr si však túto tabuľku zmažeme z našej databázy, aby sme videli, že sa import naozaj vydaril:
Zmazanie tabuľky - PostgreSQL databázy krok za krokom

Samotný import potom prebieha úplne rovnako ako import databázy. Klikneme teda pravým tlačidlom na databázu, zvolíme Restore... av dialógu vyberieme súbor uzivatel.psql, formát a prípadne ďalšie nastavenia:

Restore dialóg – záložka General - PostgreSQL databázy krok za krokom

Nakoniec potvrdíme tlačidlom Restore.

Import dát tabuľky

Import dát do existujúcej tabuľky môžeme docieliť dvoma spôsobmi. Buď použijeme možnosť Restore... a .psql súbor, alebo dáta naimportujeme z .csv, .txt alebo .bin súboru. My máme k dispozícii .psql aj .csv, takže si ukážeme obe možnosti.

Mazanie záznamov

Ešte než však začneme, tak si všetky aktuálne dáta z tabuľky zmažeme. To môžeme urobiť zavolaním tohto SQL scriptu:
DELETE FROM uzivatel;

Alebo tiež tak, že si zobrazíme všetky dáta pomocou možnosti View/Edit Data. Na novo otvorenej stránke potom označíme všetky záznamy, klikneme na tlačidlo Delete (ikona smetného koša) a potvrdíme tlačidlom Save Data Changes (ikona databázy so zámkom):

Zmazanie záznamov - PostgreSQL databázy krok za krokom

Import dát z .csv

Teraz už môžeme ísť na import. Z našej tabuľky uzivatel, by sme mali mať vygenerovaný tento .csv súbor:
1,Jan,Novák,1984-11-03,17
2,Tomáš,Marný,1989-02-03,6
3,Josef,Nový,1972-12-20,9

Samozrejme ho taktiež nájdete na stiahnutie pod článkom.

Klikneme pravým tlačidlom na tabuľku a zvolíme Import/Export.... V novootvorenom dialógu prepneme na Import, vyberieme náš súbor a zvolíme formát csv:

Import dialóg - PostgreSQL databázy krok za krokom

Všetko ostatné necháme na východiskových hodnotách, pretože pri exporte sme tiež nič nemenili.

V záložke Columns si potom môžeme zvoliť, ktoré stĺpce chceme naimportovať:

Import dialóg – záložka Columns - PostgreSQL databázy krok za krokom

Import potvrdíme tlačidlom OK a skontrolujeme si naimportované dáta:

Import dát hotový - PostgreSQL databázy krok za krokom

Import dát z .psql

Na import dát z .psql súboru použijeme súbor uzivatel.psql. Najprv ale musíme znova vymazať všetky záznamy z tabuľky, napr. pomocou SQL scriptu:
DELETE FROM uzivatel;

Teraz klikneme pravým tlačidlom na tabuľku, zvolíme Restore... av dialógu vyberieme súbor uzivatel.psql, formát a prípadne ďalšie nastavenia:

Restore dialóg - PostgreSQL databázy krok za krokom

V záložke Restore options si môžeme všimnúť, že je automaticky vybraná položka Only data a nemožno ju zmeniť. Import dokončíme tlačidlom Restore.

Týmto sme ukončili tému exportu a importu databázy v pgAdmin:)


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 46x (2.34 kB)
Aplikácia je vrátane zdrojových kódov v jazyku PostgreSQL

 

Predchádzajúci článok
PostgreSQL - Export
Všetky články v sekcii
PostgreSQL databázy krok za krokom
Preskočiť článok
(neodporúčame)
PostgreSQL - Otázky cez viac tabuliek (JOIN)
Článok pre vás napísal Radek Vymětalík
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
...
Aktivity