Záloha databázy, export a import údajov

PostgreSQL disponuje dvoma nástrojmi na tvorbu zálohy databázy a to: pg_dump a pg_dumpall
Príkaz pg_dump slúži na tvorbu zálohy iba konkrétnych databáz pričom pg_dumpall zálohuje všetko.

SELEKTÍVNE ZÁLOHOVANIE VYBRANÝCH OBJEKTOV DATABÁZY:

pg_dump -h localhost -p 5432 -U tomas -F c -b -v -f /home/user/dump/databaza+datum_zalohy.backup postgres
(Záloha jednej konkrétnej databázy v tomto prípade databázy postgres)
prepínač -F určuje fromát uloženia: p = jednoduchý .sql text, c = custom .backup archív, t = tar archív s kompresiou)
prepínač -b zahrň rozsiahle objekty do selektívnej zálohy
prepínač -v pripíše do zálohy aj komentáre z procesu zálohovania
prepínač -f určenie cesty a názvu súboru zálohy

pg_dump -h localhost -p 5432 -U tomas -F c -v -n gbu -f /home/user/dump/gbu.backup postgres
(Záloha jednej konkrétnej schémy)

pg_dump -t ' "Moja_Tabulka" ' mojadb > moja_tabulka.sql
(Záloha jednej konkrétnej tabuľky do súboru .sql)

OBNOVA DATABÁZY A DATABÁZOVÝCH OBJEKTOV

Obnovenie zálohovaných údajov z databázy (.backup), je možné obnoviť cez príkaz "pg_restore" Viac informácii o zálohách a obnove databázy nájdete v študíjnej literatúre, alebo v oficiálnej dokumentácii PostgreSQL na stránke postgresql.org

IMPORT PRIESTOROVÝCH ÚDAJOV

SHP2PGSQL
Je nástroj na import priestorových údajov typu "ESRI Shape file" prostredníctvom SQL do PostGIS/PostgreSQL databázy. Ukážka použitia v operačnom systéme Linux:

shp2pgsql -s 5514 -W "windows-1250" sr_okresy.shp schema.sr_okresy | psql -h localhost -U tomas -p 5432 -d databaza

V grafickom administračnom prostredí pgAdmin je možné údaje typu "ESRI Shape file" importovať cez nástroj PostGIS Shapefile and DBF loader .

PGSQL2SHP
Je nástroj na export priestorových údajov z databázy do súboru typu "ESRI Shape file"

Tvorba priestorových indexov

GiST predstavuje všeobecnú formu indexovania. Používa sa na zrýchlenie vyhľadávania všetkých možných druhov údajov s nepravidelnou štruktúrou, (celočíselné polia, spektrálne údaje, atď.) ktoré nemožno indexovať indexom typu B-Tree. Akonáhle priestorové údaje uložené v atribútovej tabuľke prekračujú niekoľko tisíc riadkov, je potrebné vytvoriť index na zrýchlenie priestorového vyhľadávania. (pokiaľ vyhľadávanie nieje založené na atribútoch, v takom prípade postačuje vytvoriť obyčajný index pre daný atribútovy stĺpec).

Syntax na vytvorenie GiST indexu na stĺpec typu "geometry" vytvoríme následovne:

CREATE INDEX [indexname] ON [tablename] USING GIST ( [stlpec_s_geometriou] );

Delenie nulou pri výpočte hrubej miery úmrtnosti

Pri delení nulou vracia postgresql server chybu, preto je potrebné použiť jednu z následujúcich metód
1) funkciu NULLIF(stlpec, 0),
2) funkciu COALESCE(value [, ...]),
3) podmienkový výraz: CASE WHEN condition THEN result [WHEN ...][ELSE result] END

SELECT idn2,nm2, c33_c34::real/NULLIF((zomreli_sp::real),0)*1000 AS hmu FROM gbu.zomreli_muzi;

Cvičenia: