Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 5 - PostgreSQL - Import

V minulé lekci, PostgreSQL - Export, jsme si ukázali různé typy exportů databáze.

Dnes si v PostgreSQL tutoriálu vytvořenou zálohu (export) databáze a tabulky z lekce Export zkusíme naimportovat, tzn. nahrát na server nebo databázi.

Všechny soubory, které dnes budeme používat, si můžete stáhnout na konci této lekce, jestliže je již nemáte.

Import celé databáze

K importu zálohy celé databáze potřebujeme mít již nějakou databázi vytvořenou. Je jedno, jestli je daná databáze prázdná nebo jestli již nějaké tabulky obsahuje. My si ukážeme situaci, kdy ještě nemáme žádnou databázi, a proto si naši aktuální databázi smažeme (klikneme na ni pravým tlačítkem a zvolíme Delete/Drop):

Delete/Drop - PostgreSQL databáze krok za krokem

Nyní si ji opět vytvoříme. Klikneme tedy pravým na složku Databases, zvolíme Create a Database...:

Create > Database… - PostgreSQL databáze krok za krokem

Pojmenovat ji můžeme stejně jako tu předchozí, databaze_pro_web, a vytvoření následně potvrdit tlačítkem Save:

Dialog pro vytvoření databáze - PostgreSQL databáze krok za krokem

Nyní se již můžeme dát na samotný import. Využijeme k tomu soubor databaze_pro_web.psql, který máme vygenerovaný, nebo ho najdeme přiložený na konci této lekce. V pgAdmin klikneme pravým tlačítkem na naši novou databázi a zvolíme Restore...:

Restore… - PostgreSQL databáze krok za krokem

Konfigurace cest k utilitám

Je možné, že se nám zobrazí dialog vyzývající k tomu, abychom si nejprve nakonfigurovali cestu k některým potřebným utilitám, pokud jsme tak neučinili dříve. To provedeme v nastavení (na horní liště klikneme na File a poté Preferences) v záložce Binary paths. Zde k verzi serveru, se kterým pracujeme, zadáme cestu ke složce bin/ tohoto serveru:

Preferences - PostgreSQL databáze krok za krokem

Pokud jste při instalaci zvolili výchozí umístění, tak vaše cesta bude pravděpodobně podobná té mé, tedy C:\Program Files\PostgreSQL\14\bin\.

Nyní opět můžeme kliknout pravým tlačítkem na databázi a zvolit Restore.... Otevře se nám dialog, ve kterém můžeme zvolit formát importovaného souboru a jeho umístění. Z formátů máme na výběr pouze:

  • Custom or tar - archiv typu .psql nebo .tar
  • Directory - složka s binárním souborem pro každou tabulku

Tímto způsobem nelze naimportovat .sql soubor (při exportu možnost Plain).

Jelikož náš soubor je typu .psql, tak zvolíme Custom or tar:

Restore dialog – záložka General - PostgreSQL databáze krok za krokem

V záložce Restore options pak můžeme nastavit další podrobnosti importu. Například jestli chceme exportovat pouze data nebo pouze strukturu (schéma) a mnohé další:

Restore dialog – záložka Restore options - PostgreSQL databáze krok za krokem

Zde stojí za zmínku především položka Clean before restore. Ta zajistí vymazání obsahu databáze před samotným nahráním zálohy. U naší prázdné databáze nemá její zaškrtnutí moc význam, avšak jestli zálohu nahráváte na databázi s již vytvořenými tabulkami, tak tuto položku určitě zaškrtněte. V opačném případě by se pgAdmin např. snažil vytvořit již existující tabulku, což by vedlo k chybě a import by se nemusel správně dokončit.

Import potvrdíme tlačítkem Restore a pgAdmin nám oznámí jeho úspěšnost:

Restore completed - PostgreSQL databáze krok za krokem

Import celé tabulky

Jelikož máme vygenerovaný .psql soubor celé tabulky uzivatel i s jejími daty, tak si ji nyní zkusíme naimportovat. Nejdříve si však tuto tabulku smažeme z naší databáze, abychom viděli, že se import opravdu povedl:

Smazání tabulky - PostgreSQL databáze krok za krokem

Samotný import pak probíhá úplně stejně jako import databáze. Klikneme tedy pravým tlačítkem na databázi, zvolíme Restore... a v dialogu vybereme soubor uzivatel.psql, formát a případně další nastavení:

Restore dialog – záložka General - PostgreSQL databáze krok za krokem

Nakonec potvrdíme tlačítkem Restore.

Import dat tabulky

Importu dat do existující tabulky můžeme docílit dvěma způsoby. Buď použijeme možnost Restore... a .psql soubor, anebo data naimportujeme z .csv, .txt nebo .bin souboru. My máme k dispozici .psql i .csv, takže si ukážeme obě možnosti.

Mazání záznamů

Ještě než však začneme, tak si všechna aktuální data z tabulky smažeme. To můžeme udělat zavoláním tohoto SQL scriptu:

DELETE FROM uzivatel;

Nebo taky tak, že si zobrazíme všechna data pomocí možnosti View/Edit Data. Na nově otevřené stránce poté označíme všechny záznamy, klikneme na tlačítko Delete (ikona popelnice) a potvrdíme tlačítkem Save Data Changes (ikona databáze se zámkem):

Smazání záznamů - PostgreSQL databáze krok za krokem

Import dat z .csv

Teď už můžeme jít na import. Z naší tabulky uzivatel, bychom měli mít vygenerovaný tento .csv soubor:

1,Jan,Novák,1984-11-03,17
2,Tomáš,Marný,1989-02-03,6
3,Josef,Nový,1972-12-20,9

Samozřejmě jej taktéž najdete ke stažení pod článkem.

Klikneme pravým tlačítkem na tabulku a zvolíme Import/Export.... V nově otevřeném dialogu přepneme na Import, vybereme náš soubor a zvolíme formát csv:

Import dialog - PostgreSQL databáze krok za krokem

Vše ostatní necháme na výchozích hodnotách, jelikož při exportu jsme také nic neměnili.

V záložce Columns si potom můžeme zvolit, které sloupce chceme naimportovat:

Import dialog – záložka Columns - PostgreSQL databáze krok za krokem

Import potvrdíme tlačítkem OK a zkontrolujeme si naimportovaná data:

Import dat hotov - PostgreSQL databáze krok za krokem

Import dat z .psql

K importu dat z .psql souboru použijeme soubor uzivatel.psql. Nejprve ale musíme znovu vymazat všechny záznamy z tabulky, např. pomocí SQL scriptu:

DELETE FROM uzivatel;

Nyní klikneme pravým tlačítkem na tabulku, zvolíme Restore... a v dialogu vybereme soubor uzivatel.psql, formát a případně další nastavení:

Restore dialog - PostgreSQL databáze krok za krokem

V záložce Restore options si můžeme všimnout, že je automaticky vybraná položka Only data a nelze ji změnit. Import dokončíme tlačítkem Restore.

Tímto jsme ukončili téma exportu a importu databáze v pgAdmin :)

V následujícím kvízu, Kvíz - Tvorba, mazání, vkládání a export dat v PostgreSQL, si vyzkoušíme nabyté zkušenosti z předchozích lekcí.


 

Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 38x (2.34 kB)
Aplikace je včetně zdrojových kódů v jazyce PostgreSQL

 

Předchozí článek
PostgreSQL - Export
Všechny články v sekci
PostgreSQL databáze krok za krokem
Přeskočit článek
(nedoporučujeme)
Kvíz - Tvorba, mazání, vkládání a export dat v PostgreSQL
Článek pro vás napsal Radek Vymětalík
Avatar
Uživatelské hodnocení:
68 hlasů
...
Aktivity