abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 04:00 | Nová verze

    FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.26.0. Toto velké opravné vydání mj. vrací částečnou podporu živých přenosů nebo přepracovává zobrazování titulků a obecně nastavení videa v přehrávači – FreeTube umožňuje např. přehrávat video s větším zrychlením.

    ʚĭɞ 🍉 | Komentářů: 0
    dnes 03:55 | Humor

    Další vlna kyberútoků zasáhla chladicí zařízení supermarketů v sedmi evropských zemích, Belgii, Lucembursku, Švédsku, Nizozemsku, Irsku, Estonsku a Finsku. Mrazáky se v některých prodejnách opět 'proměnily v trouby' a zahřály až na 50°C, což pochopitelně vedlo ke znehodnocení uskladněných potravin. Útoky navazují na podobný incident ve Francii z první poloviny října letošního roku, pachatel stále není znám.

    👻 | Komentářů: 0
    včera 17:52 | Zajímavý projekt
    WorldTUI je experimentální LLM o 360 milionech parametrů, který napodobuje terminál. Podle stisknutých kláves se snaží předpovídat změny na obrazovce a zvládá tak vyonávat rozličné příkazy, například Vim, tmux i jednoduchou hru Snake. Nejedná se o skutečný příkazový řádek, jeho 'soubory' i příkazy jsou pouze simulované a model může samozřejmě různě chybovat. WorldTUI vychází z jazykového modelu Qwen2.5-Coder-0.5B, který autor … více »
    👻 | Komentářů: 2
    včera 17:48 | Zajímavý článek
    Josef Bacik navrhuje novou abstrakci cell, která by celý kontejner reprezentovala jako jeden kernelový objekt. Proces by vznikl přímo uvnitř cell a nemohl by ji opustit. Oprávnění ke správě by se odvozovala od držení cellfd. … více »
    vencour | Komentářů: 9
    včera 16:23 | Bezpečnostní upozornění

    Zranitelnost v aktualizačním mechanismu WordPress umožňuje útočníkovi zasáhnout do dočasného instalačního adresáře během aktualizace jádra systému. Před aktualizací veřejně dostupného WordPressu dočasně zablokovat HTTP přístup k wp-content/upgrade/, následně aktualizovat a zkontrolovat logy. Postižené verze: WordPress 4.7 až 7.1.3.

    vencour | Komentářů: 1
    včera 16:11 | Bezpečnostní upozornění

    Alpine Linux zveřejnil podrobnosti o útoku na svůj GitLab a 30. října oznámil obnovení provozu. Útočník se 20.–21. října pokusil zneužít chybu v regulárních výrazech. Exploit způsobil opakované pády workerů a několikrát se dostal do pokročilé fáze. Úspěšné spuštění kódu však nebylo potvrzeno. Fix: Opravený GitLab a současně Ruby 3.3.13, 3.4.12 nebo 4.0.9+, pokud jde o vlastní sestavení či kontejner.

    vencour | Komentářů: 1
    včera 15:44 | Pozvánky

    Konference OpenAlt 2026 proběhne tento víkend 7. a 8. listopadu na FIT VUT v Brně. Jedná se již o 21. ročník této konference, která propojuje otevřené technologie, svobodný software, hardware a lidi, kteří chtějí věci nejen používat, ale také jim rozumět a měnit je k lepšímu. Více o konferenci v příspěvku OpenAlt 2026: technologie, které dávají svobodu na blogu spolku OpenAlt.

    Ladislav Hagara | Komentářů: 1
    včera 15:22 | IT novinky

    Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 16 GB varianty Raspberry Pi o 80 dolarů a 16 GB varianty Raspberry Pi Compute Module 5 o 40 dolarů. Cena Raspberry Pi 500+ se nemění.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | IT novinky

    Francouzské Národní shromáždění přijalo 30. října 2026 poměrem 11 hlasů pro, 10 proti a 14 abstencí pozměňovací návrh I-1358 ke státnímu rozpočtu na rok 2027, který zavádí daň z objemu dat doručovaných uživatelům internetu. Návrh socialistického poslance Laurenta Lhardita stanovuje sazbu 0,055 eura za gigabajt, tedy 55 eur za terabajt. Zatím nejde o platný zákon, ale o dílčí hlasování během prvního čtení rozpočtu. Daň by měli platit

    … více »
    vencour | Komentářů: 9
    1.11. 12:44 | IT novinky

    Nizozemská vláda ve snaze šetřit a zvyšovat efektivitu s využitím umělé inteligence (AI) hodlá zrušit asi 25.000 pracovních míst ve státní správě. Cílem je postupně dosáhnout ročních úspor až 3,5 miliardy eur (85,2 miliardy Kč). Na konci loňského roku ve státní správě pracovalo rekordních 160.000 lidí. „Nemůžeme pokračovat v tom, co jsme dělali dosud,“ uvedl státní tajemník pro efektivní fungování vlády Eric van den Burg. „Proto

    … více »
    Ladislav Hagara | Komentářů: 41
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2967 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Synchronizace struktur databazí v PostgreSQL

    11.5.2019 10:29 ZAH | skóre: 43 | blog: ZAH
    Synchronizace struktur databazí v PostgreSQL
    Přečteno: 1544×
    Potřebuji synchronizovat struktury databáze. Pokud možno bez negativních dopadů do dat. Jde tři databáze vývojovou, instalační a s kompletními daty.

    Ve vývojové mám jen data na pokusy a hraju si s ní.Instalační by měla obsahovat pouze data nutná pro čistou instalaci databáze. Poslední obsahuje kompletní data firmy přenesená ze starého systému. Ztráta jakýchkoliv data tudíž není kritická, ale zdržuje.

    Budu vděčný za nakopnutí správným směrem. ZAH

    Řešení dotazu:


    Odpovědi

    11.5.2019 11:22 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Synchronizace struktur databazí v PostgreSQL
    Nejprve si definuj, co na čem závisí. Udělal bych to formou exportů a importů. Dá se tak definovat, kterou komponentu chceš kopírovat kompletně (např. číselníky) a ze které pouze strukturu.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 11.5.2019 11:31 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Synchronizace struktur databazí v PostgreSQL
    To, co chceš, není synchronizace, ale migrace. Pro každou změnu struktury databáze si napíšeš skript, který požadovanou změnu provede. Ten skript spustíš na vývojové databázi, a když to funguje, tak pak později i na produkční databázi. Tím budeš mít na obojím provedeny stejné změny. Výhodou je, že taková migrace může také konvertovat data.

    V opačném směru to je jednodušší, to prostě vývojovou či testovací databázi smažeš a nakopíruješ tam produkční. Obvykle je vhodné data anonymizovat, nebo ještě lépe zkopírovat jen strukturu a nagenerovat si anonymní data. Používá se ještě staging prostředí, kde se testuje na kopii produkčních dat těsně před nasazením do produkce.

    Migrace můžeš používat i k inicializaci databáze, kde nultá migrace importuje nějaký postarší základ a následující migrace to posunou do aktuální podoby. V kombinaci se seedem (generátorem dat) se tento přístup hodí k nastavení lokálního vývojového prostředí.

    Migrace krom změn v databázi musí udělat ještě jednu věc, každá si musí poznamenat, že se spustila a byla provedena. Migrační nástroje to typicky nějak řeší. Nejlepší je, když si to ten nástroj poznamená do extra tabulky v databázi (ta tabulka pak v podstatě obsahuje verzi databáze).

    Docela rozumný je například Phinx.
    Hello world ! Segmentation fault (core dumped)
    11.5.2019 12:06 ZAH | skóre: 43 | blog: ZAH
    Rozbalit Rozbalit vše Re: Synchronizace struktur databazí v PostgreSQL
    Souhlas9m s migrací verzí u koncového zákazníka pro vývoj mi to připadá poněkud těžkopádné. Má představu asi takto , ve vývojové databázi si hraju nakonec provedu export struktury. U druhých dvou databází provedu export dat a poté je asi smáznu provedu import nové struktury a následně import dat. Celé to nějak zautomatizovat a ošetřit alespoň základní problémy při importu dat. Opakuji, při ztráta části nebo úplná dat není tragédií, ale zdržuje.

    Jinak díky na Phinx se podívám a dám zprávu. I když předpokládám, že nejlepší cestou bude zpracovat logy změn.
      V posgresql.conf zapnout
     
      log_statement = 'ddl'
    
      egrep -i "create|alter|drop" pg_server.log 
     
    . Výsledek podhodit psql nebo něčemu podobného.

    Jen bych nerad vynalézal a hlavně testoval kolo, a tak zjišťuji něco hotového.

    Josef Kufner avatar 11.5.2019 12:43 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Synchronizace struktur databazí v PostgreSQL
    Nijak těžkopádné to není. Na začátku, když si hraješ, tak ty tabulky na produkci obvykle vůbec neexistují, takže si je prostě naklikáš, poladíš a do migrace dáš create table příkazy získané exportem z té experimentální databáze (a tu pak zahodíš). Přidaná práce víceméně žádná.

    Když pak děláš změny, tak už víš, co chceš a při provádění změn si průběžně odkopírováváš spouštěné příkazy. Většina klientů ti je ukáže. Tady nějaký overhead je, ale je to jen o vytvoření souboru a trochy ctrl+c, ctrl+v. Výhodou je, že když zjistíš, že jsi se někde seknul, tak můžeš prostě tu migraci upravit a nemusíš to klikat celé znovu.

    Třetí scénář je, že už databázi máš a nevíš, co chceš (např. hledání té správné optimalizace). Pak si prostě chvíli hraješ, vývojovou databázi rozdrbeš, zahodíš a hraješ si znovu. Když zjistíš, co chceš, změny bývají na pár příkazů, které nakopíruješ do migrace.

    Také velmi rychle narazíš na to, že některé změny chceš zachovat a jiné nikoliv. Ukecat automatický nástroj je prostě obtížné a zdržuje to. Oproti tomu při ručním kopírování SQL příkazů ty chtěné zkopíruješ a ty nechtěné ne.

    Užitečné je automatizovat obnovení lokální vývojové databáze do produkčního stavu (je to jeden skript s importem dumpu). Hodí se příkaz na vytvoření prázdné migrace. A pak je nutnost mít automatizované provádění migrací (z ručního spuštění). Ideální je ještě navázat jednoduchou sadou testů, které oťukají, že nové schema dává smysl a je konzistentní s kódem.

    Při běžném vývoji se mi ani nijak moc neosvědčily nástroje na porovnávání databází. Užitečnější je mít log spouštěných příkazů a případně export pro větší změny. Pak to ručně poskládat do migrace a spustit na to testy. Na první pohled se to sice zdá pracnější, ale ušetří to spoustu času právě svou jednoduchostí a hlavně předvídatelností.

    Obrovskou výhodou tohoto přístupu je snadná integrovatelnost s continuous integration a verzováním. Ty migrace prostě hodíš do Gitu spolu s ostatním kódem a až se to mergne do masteru, tak se změny v databázi samy propíšou na testovací server. Jediné nutné pravidlo je, že na jednou mergnuté migrace už se nesahá.
    Hello world ! Segmentation fault (core dumped)
    11.5.2019 12:57 ZAH | skóre: 43 | blog: ZAH
    Rozbalit Rozbalit vše Re: Synchronizace struktur databazí v PostgreSQL
    Jsem ve stavu, kdy zatím není produkční databáze. Tabulky projektu vznikly transformací 30 let staré dos databáze do současného SQL a já se snažim z nich udělat fungující projekt.

    Takže si v podstatě hraju na funguje nefunguje aktuálně se dostávám do stavu funguje podmíněně a potřebuji testovat na skutečných datech nikoliv však produkčních. Tolik k vysvětlení, jinak děkuji za tvé poznámky budou se hodit určitě.

    Jestli do dostanu v dohledné době do produkčního stavu tak určitě budu v této diskuzi pokračovat.

    P.S. Musím si jí najít novou klávesnici tahle si už píše co chce, tím se omlouvám za počet překlepů ještě větší než je můj standart
    11.5.2019 13:08 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Synchronizace struktur databazí v PostgreSQL
    Pokud si můžeš dovolit testovat na produkčních datech (samozřejmě vhodně anonymizovaných/obfuskovaných), je to z mé zkušenosti ta nejlepší databáze pro vývoj. Samozřejmě pokud její velikost nepřesahuje pár set GB, aby se v pohodě vešla na pracovní stanici nebo lokální server (což u dosové aplikace asi nehrozí).
    Josef Kufner avatar 11.5.2019 13:30 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Synchronizace struktur databazí v PostgreSQL
    V takovém případě bych ponechal staré tabulky stranou, jednou migrací vytvořil nové tabulky pomocí exportu schématu z libovolného hezkého nástroje a druhou migrací konvertoval data do nové struktury (INSERT—SELECT z těch starých tabulek ponechaných stranou). Tyto dvě migrace bych ladil a ladil, dokud bych nebyl spokojen a vedle toho bych napsal testy, které by ověřovaly funkčnost modelové vrstvy aplikace. Každé spuštění těchto migrací a testů by pak začínalo vždy s prázdnou novou databází, pokud by to tedy netrvalo půl hodiny, takže by bylo jasné, že vše funguje, jak má.

    Pokud to aplikace dovolí, tak bych udělal takovýchto párů migrací víc – jeden pár pro každou oddělitelnou komponentu. To by také urychlilo opakované spouštění, neboť by se dalo vracet k nějakému snapshotu (dumpu) a nespouštět vždy vše.

    Rozdělení na dvě migrace bych udělal kvůli tomu, aby se ta první se strukturou dala řešit exportem a nehrozilo, že si něco užitečného přepíšeš. Ten export struktury databáze pak můžeš celkem snadno automatizovat (pokud to za to stojí; např. dump vývojové předlohy), ale konverze dat se automatizovat moc nedá a budeš ji na konec potřebovat také – na finální přemigrování produkčních dat.

    Celé se to vlastně točí kolem konceptu, že namísto přímé konverze databáze vyladíš skript, který tu konverzi provede. Výhodou je, že když pak mnohem později zjistíš, že jsi něco minul a zmigroval blbě, tak se budeš moct vrátit, migraci upravit a přemigrovat znovu. Další výhodou je, že takto zmigrovanou věc můžeš dát uživatelům k otestování a případné chyby v migraci snadno opravovat.
    Hello world ! Segmentation fault (core dumped)
    Řešení 1× (Filip Jirsák)
    11.5.2019 13:59 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Synchronizace struktur databazí v PostgreSQL
    Řekl bych, že sháníte Flyway nebo Liquibase. Ve VCS udržujete strukturu databáze popsanou nějakým skriptem. Oba nástroje si pak v databázi udržují aktuální verzi schématu a provedou postupně všechny aktualizační skripty až po nejnovější verzi schématu. Dá se to dělat i ručně (stačí číslovat skripty pro aktualizaci a někde si pamatovat aktuální verzi schématu), ale proč nepoužít už hotové nástroje…
    11.5.2019 14:40 ZAH | skóre: 43 | blog: ZAH
    Rozbalit Rozbalit vše Re: Synchronizace struktur databazí v PostgreSQL
    Dík jak bude chvilka vyzkouším.
    19.6.2019 10:18 =
    Rozbalit Rozbalit vše Re: Synchronizace struktur databazí v PostgreSQL
    To musí být člověk opravdu narcis, označit si svůj příspěvek za řešení..
    14.6.2019 23:13 lazywriter
    Rozbalit Rozbalit vše Re: Synchronizace struktur databazí v PostgreSQL
    Pouzivam https://github.com/perseas/Pyrseas a docela funguje.

    Založit nové vlákno • Nahoru

    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.