IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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 4 - PostgreSQL - Export

V minulé lekci, PostgreSQL - Vkládání a mazání dat v tabulce, jsme si ukázali vkládání a mazání záznamů.

Dnes si v PostgreSQL tutoriálu vyzkoušíme vyexportovat naši databázi, což se nám bude jistě mnohokrát hodit. Opět budeme používat pouze prostředí pgAdmin.

Export (nebo také "záloha") je soubor s SQL příkazy, který nám může sloužit na zálohu či migraci databáze nebo jen její části.

Export můžeme rozdělit na:

  • kompletní export - soubor bude obsahovat jak strukturu tabulek, tak i jejich data
  • export struktury - soubor bude obsahovat pouze strukturu databáze
    • takový export může obsahovat všechny nebo pouze vybrané tabulky
  • export dat - soubor bude obsahovat pouze data tabulek
    • tabulky můžeme specifikovat

Nejprve musíme mít nějakou databázi s daty, abychom je mohli exportovat. Pokud žádnou z minulých lekcí nemáme, můžeme si databázi i tabulku uzivatel vytvořit podle této lekce. Pokud v tabulce nemáme žádné záznamy, můžeme si jich pár znovu vložit tímto SQL příkazem:

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ázi tedy minimálně tři záznamy osob:

Tabulka s daty - PostgreSQL databáze krok za krokem

Konfigurace cest k utilitám

Je možné, že se nám v průběhu některého z exportů zobrazí dialog vyzývající k tomu, abychom si nejprve nakonfigurovali cestu k některým potřebným utilitám. 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\.

Export dat

Zkusme si nejprve exportovat data konkrétní tabulky. To můžeme udělat tak, že pravým tlačítkem klikneme na danou tabulku a zvolíme Import/Export...:

Import/Export… - PostgreSQL databáze krok za krokem

Otevře se nám dialog, ve kterém můžeme nastavit, jestli chceme exportovat nebo importovat a další podrobnější nastavení, jako je např. formát a umístění exportu, kódování nebo separátor mezi sloupci.
Z formátů máme na výběr:

  • binary - pro .bin soubory
  • csv - pro .csv soubory, využívá se často pro export do programu MS Excel
  • text - pro .txt soubory

My zvolíme export do formátu csv a nastavíme umístění souboru. Kódování můžeme nechat nezvolené, v takovém případě se zvolí UTF-8. Vše ostatní necháme na výchozích hodnotách:

Export dialog – záložka Options - PostgreSQL databáze krok za krokem

CSV (Comma Separated Values) je formát ukládání dat do textového souboru, ve kterém jsou data jednotlivých sloupců oddělena čárkou. Jeden řádek tabulky pak vždy odpovídá jednomu řádku v souboru.

V záložce Columns můžeme nastavit, jaké sloupce chceme v exportu zahrnout. My necháme výchozí nastavení, tedy všechny sloupce:

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

Export potvrdíme tlačítkem OK:

Export completed - PostgreSQL databáze krok za krokem

pgAdmin nás hned nato informuje o úspěšnosti exportu.

Když nyní otevřeme vygenerovaný soubor, tak uvidíme naše data:

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

Soubor si uchovejte, budeme ho využívat pro budoucí import :)

Export celé tabulky

Pokud chceme exportovat celou tabulku, tzn. jak data, tak i strukturu tabulky, tak musíme kliknout pravým tlačítkem na danou tabulku a zvolit Backup...:

Backup… - PostgreSQL databáze krok za krokem

V dialogu, který se nám otevře, opět můžeme zvolit formát a umístění exportu. Z formátů máme na výběr:

  • Custom - speciální archiv typu .psql. Tento formát nabízí možnost vybrat, které databázové objekty se mají z exportu obnovit. Taktéž podporuje kompresi, jejíž poměr můžeme nastavit níže (maximální nastavitelná hodnota je 9).
  • Tar - archiv typu .tar. Nepodporuje kompresi.
  • Plain - soubor s SQL příkazy pro vygenerování databáze
  • Directory - složka s binárním souborem pro každou tabulku

My zvolíme možnost Custom a nastavíme umístění souboru. Vše ostatní opět necháme na výchozích hodnotách:

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

V tomto případě můžeme taktéž určit tzv. roli (možnost Role name). Tyto role určují oprávnění pro provedení nějaké akce na databázi nebo na její části. Zvolená role musí mít potřebná oprávnění k provedení exportu a následnému importu. Jako výchozí se nastaví role postgres.

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

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

Export potvrdíme tlačítkem Backup:

Backup completed - PostgreSQL databáze krok za krokem

pgAdmin nás hned nato informuje o úspěšnosti exportu.

Soubor si uchovejte pro budoucí import.

Export celé databáze

Export celé databáze funguje skoro stejně jako export celé tabulky. Na databázi klikneme pravým tlačítkem, zvolíme Backup... a v nově otevřeném dialogu nastavíme formát a umístění exportu:

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

Export opět potvrdíme tlačítkem Backup:

Backup completed - PostgreSQL databáze krok za krokem

pgAdmin nás informuje o úspěšnosti exportu.

Soubor si uchovejte pro budoucí import.

V další lekci, PostgreSQL - Import, si ukážeme import databáze.


 

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