abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 4
    včera 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 2
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    7.5. 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    7.5. 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 2
    6.5. 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    6.5. 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 1
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (7%)
     (14%)
     (16%)
    Celkem 139 hlasů
     Komentářů: 10, poslední včera 17:35
    Rozcestník

    Dotaz: postgres - import nekonzistentnich dat

    24.2.2022 14:40 gent
    postgres - import nekonzistentnich dat
    Přečteno: 1137×
    Cau,

    dostal jsem za ukol zmigrovat jednu aplikaci (Python/django+postgres) ze stareho serveru na novy. Na starem serveru bezi postgres 8, na novy server jsem dal postgres 11.

    Pokud na starem serveru dumpnu DB a pokousim se ji naimportovat na novy server, dostavam cca 20 chyb (jde o 2 opakujici se chyby - "duplicate id already exists" a "not a valid UTF sequence") - z cehoz usuzuju, ze jsou chyby (flip bity) na starych discich. Pokud z dumpu smazu "chybove" radky, import se povede a aplikace jede OK.

    Posledni zaloha na starem serveru je ze zacatku roku 2021 - ta je (zda se) "konzistentni" a jde naimportovat na novy seerver bez chyb.

    Tak me napadlo, ze DB postavim tak, ze nejdriv naimportuju "konzistentni" dump z roku 2021 a pak to prezehlim aktualnim dumpem, aby se prihrali jen rozdily/neexistujici zaznamy od roku 2021.

    A tady jsem narazil - jelikoz nejdou pustit 2 dumpy pres sebe tak, aby se dohraly z posledniho dumpu jen neexistujici zaznamy.

    Nemate nekdo nejaky napad, jak toto realizovat? (treba vypnout transakce v dumpu, nebo udelat nejaky specialni dump, ktery bude existujici zaznamy v tabulce ignorovat )

    Na SO jsem nasel "reseni" s pouzitim temp. tabulek, coz se mi moc nelibi a nechavam si to jako posledni moznost.

    Diky za pripadne napady, s PSQL delam jen okrajove ;)

    Odpovědi

    25.2.2022 18:11 j
    Rozbalit Rozbalit vše Re: postgres - import nekonzistentnich dat
    "ze jsou chyby (flip bity) na starych discich."

    To bych dost pochyboval. Chyby budou spis logickyho razu v datech. Je to pomerne typicka vec, kdyz ten kdo dela aplikaci netusi jak funguje databaze. To bys totiz tu tabazi nespis vubec nespustil - kazda aspon trochu svepravna pouziva na datovy soubory minimalne nejaky kontrolni soucty.

    Pokud znas strukturu tak neni problem vadny data prece opravit. Variatne je proste smaznout, v databazich byva hromada historickych dat ktera stejne uz nikdy nikoho zajimat nebudou.

    Takze ... dumpni si zalohu a podivej se, jestli tam jsou ty radky, ktery ti hlasej chybu a porovnej je. Pokud tam vubec nejsou, tak druha moznost je, ze je rucne oprav v tom dumpu. Posledni moznost je samozrejme vyhodnotit ta data jako jiz nepotrebna, a tudiz se bez nich obejit (pro predstavu, to ze si pred 20ti lety nekomu delal nejakou nabidku, a on si pak nic nekoupil, je typicka vec, bez ktery se svet nezbori).

    Samo tady pozor, protoze tim ze ty zaznamy odstranis muzes vyrobit jeste mnohem horsi veci, takze je treba znat strukturu tech dat a co kde na co navazuje.

    ---

    Dete s tim guuglem dopice!
    AraxoN avatar 28.2.2022 14:48 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: postgres - import nekonzistentnich dat
    Postgres v staršej verzii musel mať nejakú bugu, kedy to dovolilo v nejakom okrajovom prípade vytvoriť rovnaké záznamy nad unique indexom. Stretli sme sa s tým niekoľkokrát aj my - dump prebehol v poriadku, import do novej, prázdnej DB, už nie z dôvodu duplicity. Ostalo len manuálne opraviť záznamy. Najskôr som podozrieval pamäte, ale strávil som noc s memtestom v serverovni, bez výsledku. Myslím, že to prestalo, keď sme prešli na PG11.

    Takéto zlučovanie dát všeobecne robím tak, že tabuľku vyexportujem bez restraintov a naimporujem pod iným názvom. Tým mám vedľa seba dve tabuľky s rovnakými stĺpcami a môžem robiť veci ako napríklad:
    INSERT INTO ostra SELECT * FROM zaloha WHERE id NOT IN (SELECT id FROM ostra);
    28.2.2022 15:29 gent
    Rozbalit Rozbalit vše Re: postgres - import nekonzistentnich dat
    Cau, diky za reakce - chyby jsou opravdu v tech primarnich klicich/id, a to ani sebehorsi progy nedokaze rozbit (pokud nepocitam bug, bo "offline" binarni editaci psql souboru - a to urcite nikdo nedelal).

    Nakonec jsem to vyresil tak, ze jsem pg_dump pustil s parametrem "--column-inserts" - to vytvori dump s "INSERTama" na kazdem radku a tim to muzu prezehlit :) takze vyreseno

    Dik

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.