Portál AbcLinuxu, 12. května 2025 19:03

Dotaz: Existuje způsob, jak exportovat (pg_dump???) část databáze (všechny tabulky, ale jen část záznamů) tak, aby byla zachovaná integrita??

4.11.2010 08:47 jeleniste | skóre: 13 | blog: Prokustovo lože
Existuje způsob, jak exportovat (pg_dump???) část databáze (všechny tabulky, ale jen část záznamů) tak, aby byla zachovaná integrita??
Přečteno: 221×
Odpovědět | Admin

Existuje způsob, jak exportovat (pg_dump???) část databáze (všechny tabulky, ale jen část záznamů) tak, aby byla zachovaná integrita??

Tj. mám db s nadefinovanýma relacema, v tom nějaká data (katastr, parcely, vlastnictvi apod). Rád bych z toho kus "ustřihnul" a vyexportoval, tak, abych měl kompletní databázi, ale jen k jednomu katastru, tj, aby zůstala zachovaná integrita, tedy aby v tb. katastry byl jeden katastr, v parcelách právě ty parcely, který patří na ten katastr a ve právě ta vlastnictví, která patří k vybraným parc.

Prblm je, ýe je to téměř v padesáti propojenejch tabulkách, pokoušel jsem se to udělat ručně, ale povedlo se mi akorát udělat si v tom ukrutnej bordel. Tak mě napadlo, že si db celou zkopíruju a nastavím akce na fk na cascade on delete a pak to prostě promažu. To ale znamená zbytečnou manipulaci s vekym objemem dat. Existuje na tohle nějaký nástroj/finta/doporučenej postup?? Já ani nevim co googlit, db. partitioning vrcí něco jinýho, split sem nějak nepochopil.

Dík Je.

Nejsem blbý, jen se hloupě ptám
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.11.2010 09:49 VM
Rozbalit Rozbalit vše Re: Existuje způsob, jak exportovat (pg_dump???) část databáze (všechny tabulky, ale jen část záznamů) tak, aby byla zachovaná integrita??
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zda to už někdo naprogramoval nevím. Pokud pro zajištění integrity používáte pokročilejší funkce Postresu jako triggery a procedury uložené v databázi, tak se obávám že to ani není algoritmicky řešitelné.

Na druhou stranu, pokud vystačíte s klasickými foreign keys jako v MySQL, tak by neměl být problém napsat skript, který si tyto závislosti načte a najde příslušný uzávěr zadaných dat. Práce tak na den dva. Vstupní data projedete, všechny závislé přidáte do fronty, a tak to opakujete dokud se fronta nevyprázdní.
okbob avatar 4.11.2010 10:19 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: Existuje způsob, jak exportovat (pg_dump???) část databáze (všechny tabulky, ale jen část záznamů) tak, aby byla zachovaná integrita??
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nic takového neexistuje.

Doporuceny postup - napsat si vlastni aplikaci.

4.11.2010 11:19 jeleniste | skóre: 13 | blog: Prokustovo lože
Rozbalit Rozbalit vše Re: Existuje způsob, jak exportovat (pg_dump???) část databáze (všechny tabulky, ale jen část záznamů) tak, aby byla zachovaná integrita??
A sakra, tak to mám docela dost zábavy na všechny zimní večery. Mohl bych poprosit o nějaký link, kde někdo něco podobného řešil, abych aspoň věděl co mám googlit??

Dík Je.
Nejsem blbý, jen se hloupě ptám
okbob avatar 4.11.2010 11:27 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: Existuje způsob, jak exportovat (pg_dump???) část databáze (všechny tabulky, ale jen část záznamů) tak, aby byla zachovaná integrita??
nevim o necem podobnem - az se rozebehne znovu postgres.cz, tak vam mohu dat odkaz na skript, ktery zjistuje spravne poradi pro dump, ale to je asi tak vsechno.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.