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 13:22 | Nová verze

    Byla vydána beta verze Ubuntu 25.10 s kódovým názvem Questing Quokka. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 25.10 mělo vyjít 9. října 2025.

    Ladislav Hagara | Komentářů: 0
    dnes 12:55 | Nová verze

    Bola vydaná nová verzia 4.13 security platformy Wazuh. Prináša nový IT hygiene dashboard, hot reload dekodérov a pravidiel. Podrobnosti v poznámkách k vydaniu.

    peterm655 | Komentářů: 0
    dnes 12:22 | IT novinky

    Americký výrobce čipů Nvidia investuje pět miliard dolarů (přes 100 miliard Kč) do konkurenta Intel, který se v poslední době potýká s vážnými problémy. Firmy to včera oznámily ve společné tiskové zprávě. Dohoda o investici zahrnuje spolupráci při vývoji čipů pro osobní počítače a datová centra. Akcie společnosti Intel na zprávu reagovaly výrazným růstem.

    Ladislav Hagara | Komentářů: 2
    dnes 05:11 | Komunita

    Dlouholetý balíčkář KDE Jonathan Riddell končí. Jeho práci na KDE neon financovala firma Blue Systems, která ale končí (Clemens Tönnies, Jr., dědic jatek Tönnies Holding, ji už nebude sponzorovat), někteří vývojáři KDE se přesunuli k nově založené firmě Techpaladin. Pro Riddella se již nenašlo místo. Následovala debata o organizaci těchto firem, které zahraniční vývojáře nezaměstnávají, nýbrž najímají jako kontraktory (s příslušnými důsledky z pohledu pracovního práva).

    |🇵🇸 | Komentářů: 8
    dnes 02:33 | Komunita

    V Amsterdamu probíhá Blender Conference 2025. Videozáznamy přednášek lze zhlédnout na YouTube. V úvodní keynote Ton Roosendaal oznámil, že k 1. lednu 2026 skončí jako chairman a CEO Blender Foundation. Tyto role převezme současný COO Blender Foundation Francesco Siddi.

    Ladislav Hagara | Komentářů: 0
    dnes 02:22 | Zajímavý článek

    The Document Foundation, organizace zastřešující projekt LibreOffice a další aktivity, zveřejnila výroční zprávu za rok 2024.

    ZCR | Komentářů: 0
    včera 17:33 | Nová verze

    Byla vydána nová stabilní verze 7.6 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 140. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Nová verze

    Byla vydána verze 1.90.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Nová verze

    GNUnet (Wikipedie) byl vydán v nové major verzi 0.25.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.

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

    Byla vydána nová major verze 7.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově je postavena je na Debianu 13 (Trixie) a GNOME 48 (Bengaluru). Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (41%)
     (59%)
     (7%)
     (10%)
     (17%)
     (7%)
     (10%)
     (7%)
     (12%)
    Celkem 41 hlasů
     Komentářů: 6, poslední dnes 09:18
    Rozcestník

    Dotaz: jak limitovat prostredky pro pgsql

    10.2.2006 13:28 stradivarius
    jak limitovat prostredky pro pgsql
    Přečteno: 198×
    Zdravim, prave jsem polozil stroj pomoci funkce v plpgsql ktera pracovala pres 36000radku. Dosla pamet. Jak tomu rozumim, tak protoze takova funkce pracuje v transakci, tak se data asi ukladala do pameti tak dlouho, dokud nedosla. Funkce delala 2 LOOPy, jeden pres 36000 radku a druhy vnitrni pres 90radku a vykonavala INSERTy do nekolika ruznych tabulek. Rekl bych ze v dotazu chyba nebude a v transakci bych to rad ponechal.

    Chtel bych tedy nastavit limit pameti pro proces postmaster. Lze to? Nepotrebuji nastavit pamet pro vsechny procesy pres System V IPC. Diky

    Odpovědi

    12.2.2006 11:48 asd
    Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
    man bash - hledat ulimit. nebo man 2 setrlimit. to je ale prilis systemove. To se potom mozna muze postgre odporoucet i takovym zpusobem, ze si poskodi databazi. Rek bych, ze je todle horsi nez kdyz je proces bud a) zabit z oom manazeraa nebo ceka na veky v situaci s povolenym overcommitem. Protoze takhle se mu nemisi povist neco alokovat a bude zalezet na programatorovi, jestli nezapomel na if a ukonci li se s nejakou chybovou hlaskou transakce nebo jestli pojede dal a zacnou se dit spatnosti.

    Doporucil bych se podivat do postgresu jestli neni nekde konfigurace obdobneho mazxima treba neco s result sety apod. nebo pridat 10GB swap.
    13.2.2006 10:31 stradivarius
    Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
    Diky za odpoved,

    Ulimit je prima. Setrlimit je jeste lepsi. Ale myslel jsem na nejakou konfiguraci v postgresu, ktera by byla schopna zrusit query, pokud tato je moc zrava, ale postmaster by prezil. Treba
    SET transaction_memory_limit=500M;
    :-) Ale asi nic takoveho nebude, zvlaste kdyz se tranakce uklada v temp tabulkach.
    12.2.2006 13:05 barney
    Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
    postgresql si vysledky transakcie neuklada v pamati, len si ich zapise do prislusnej tabulky s oznacenim transakcie, ktora ich vytvorila (a aj preto je nutny vacuum).

    skor by som povedal, ze v tej funkcii bude memory-leak.

    13.2.2006 10:22 stradivarius
    Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
    Zdravim a diky za odpoved, Query ve funkci jsem si rozdelil do vicero funkci a potom ze skriptu volal vzdy po davkach o 10000 radcich. Probehlo to korektne a docela rychle. Slo o vlozeni dat ze starych tabulek do novych tabulek (jina struktura, data provazana cizimi klici).

    Po vlozeni ostatnich dat jsem chtel udelat query (viz nize ve funkci) najednou pro vsechna data, ale zacalo to swapovat jako predtim, takze to bude mozna tady tim. Opet jsem to musel rozkouskovat a volat po castech. Rad bych vam dal za pravdu a fci lepe napsal, ale pokud tam memory leak je tak ji bohuzel nevidim. Ta exception je tam proto ze vychozi data nejsou v nejkonzistentnejsim stavu...

    Mate pravdu s tou docasnou tabulkou pro transakci, to je rozhodne logictejsi.
    CREATE OR REPLACE FUNCTION icv_objects2(integer,integer)  RETURNS void AS $BODY$
    DECLARE
    	rec RECORD;
    BEGIN
    	FOR rec IN SELECT * FROM md_metadata_old WHERE id_metadata::integer BETWEEN $1 AND $2 LOOP
    		RAISE NOTICE 'Adding values for metadata %',rec.id_metadata;
    		IF rec.id_metadatagroup IS NOT NULL THEN
    				BEGIN
    					EXECUTE 'INSERT INTO md_metadata(fileidentifier,parentidentifier,identificationinfo) VALUES('||rec.id_metadata::integer||', '||rec.id_metadatagroup::integer||', '||rec.id_metadata::integer||')';
    				EXCEPTION WHEN foreign_key_violation THEN
    					EXECUTE 'INSERT INTO md_metadata(fileidentifier,parentidentifier,identificationinfo) VALUES('||rec.id_metadata::integer||', '||rec.id_metadata::integer||', '||rec.id_metadata::integer||')';
    				END;
    		END IF;		
    	END LOOP;
    END;
    $BODY$
    
    PostgreSQL 8.1.0
    13.2.2006 12:12 barney
    Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
    aha :-))

    ak ma pamat neklame, problem je ten, ze select taha vsetky data do pamate. vyskusajte implementovat nasledovny pseudokod (bohuzival plpgsql neovladam/nepouzivam) :

    
    "declare cursor nejake_meno for select * from md_metadata_old;"
    while row = "fetch from nejake_meno"
      insert into ...
    end
    
    
    13.2.2006 16:43 stradivarius
    Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
    Bingo! A ja si rikal na co ty asi kurzory jsou. Ale dokumentace me lehce mate, pry smycky FOR maji interni kurzor. Zda se mi ze interni kurzory asi funguji jinak, protoze tato funkce tentokrat trvala pouze kolem 30s(puvodni nedavkovana by mozna ani nedobehla). Ale je pravda, ze tabulka nemela cizi klice, takze se nekontrolovaly zavislosti.

    Zde vysledek:
    CREATE OR REPLACE FUNCTION icv_objects3()
      RETURNS void AS
    $BODY$
    DECLARE
    	row md_metadata_old%ROWTYPE;
    	curs REFCURSOR;
    BEGIN
    	OPEn curs FOR SELECT * FROM md_metadata_old;
    	FETCH curs INTO row;
    	WHILE FOUND LOOP
    		RAISE NOTICE 'Adding values for metadata %',row.id_metadata;
    		IF row.id_metadatagroup IS NOT NULL THEN
    			BEGIN
    				EXECUTE 'INSERT INTO md_metadata_test(fileidentifier,parentidentifier,identificationinfo) VALUES('||row.id_metadata::integer||', '||row.id_metadatagroup::integer||', '||row.id_metadata::integer||')';
    			EXCEPTION WHEN foreign_key_violation THEN
    			END;
    		END IF;	
    		FETCH curs INTO row;	
    	END LOOP;
    	CLOSE curs;
    END;
    $BODY$
      LANGUAGE 'plpgsql' VOLATILE;
    
    http://www.postgresql.org/docs/8.1/interactive/plpgsql-cursors.html#PLPGSQL-CURSOR-DECLARATIONS

    To by bylo, dekuji barney! Nicmene, zpet k puvodni otazce, nemohu nejak omezit prostredky pro jednotlive query? Pokud takovou fci nekdo spusti treba na sdilenem hostingu? Asi kazdy namitne ze tam potom nema co pohledavat, nicmene vypadek hrozi, nebo dokonce nekonzistence dat, pokud by postmaster mel omezeni v OS.
    13.2.2006 16:54 barney
    Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
    rád som pomohol (i sa niečo priučil)
    s obmedzeniami vám bohužial neviem poradiť.
    15.2.2006 11:01 stradivarius
    Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
    Takze asi takove nativni nastaveni omezeni zdroju na query neexistuje, skoda. Bylo by to docela uzitecne. Ted lze videt probihajici query pokud vim maximalne pres pg_stat_activity, takze by sel mozna udelat nejaky skriptik, ktery by podle loadu killoval query, ktera bezi nejdele casu. Neni to nejsystemovejsi, ale zase by to mohlo posilat mailem upozorneni a jine veci.

    Mam nejisty pocit, ze nejake rizeni zdroju jsem nedavno videl v prezentaci http://www.enterprisedb.com, ale ted to na tech strankach nejak nemuzu najit. Mimochodem, pouzivate nekdo tu enterprisedb?

    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.