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_dumpallPrí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ód1) 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:
- 1.) Stiahnite údaje na cvičenie z PostGIS a spustite obnovenie cez pg_restore v priestorovej databáze.
- 2.) Analyzujte štruktúru priestorových a nepriestorových údajov
- 3.) Identifikujte stĺpce s geometriou a vytvorte im priestorové indexy
- 4.) Štandardizujte demografické údaje - vypočítajte hrubú mieru úmrtnosti ((zomrelí spolu / stredný stav)*1000) a mieru úmrtnosti podľa príčiny smrti (úmrtnosť na ochorenie / zomrelí spolu)
- 5.) Prepojte štandardizované atribútové tabuľky s geometriou
- 6.) Vizualizujte štandardizované demografické údaje v programe QGIS formou kartogramov