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):Teraz si ju opäť vytvoríme. Klikneme teda pravým na zložku Databases, zvolíme Create a Database...
Pomenovať ju môžeme rovnako ako tú predchádzajúcu,databaze_pro_web
, a vytvorenie následne potvrdiť tlačítkom
Save:
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...:
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činkubin/
tohto serveru:
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
:
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:
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ť:
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:
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:
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):
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
:
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 potvrdíme tlačidlom OK a skontrolujeme si naimportované dáta:
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:
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