Díky za dárek v podobě taháku. Určitě se bude občas hodit, mít všechno pěkně na pár listech!
+1 taky děkuji
Jen bych měl dotaz: proč se v ukázce bash+sql používá $(), cat a heredoc při přiřazování SQL do proměnné místo obyčejného proměnná="SELECT * FROM…" (kde SQL dotaz v uvozovkách může být na víc řádků)? Snad leda že by člověk chtěl používat v SQL uvozovky (pro názvy tabulek, ale to tam není) resp. nechtěl je escapovat.
Tohle téma jsem ještě před chvílí řešil s Tomášem Vondrou - já doporučuji jako min 5 min, Tomáš 15 - což je CHECKPOINT vynucený naplněním segmentů transakčního logu. Vycházím z předpokladu, že čím je častější CHECKPOINT, tím bude rychlejší neboť se bude zapisovat méně dat (tento předpoklad nemusí být pravdivý, pokud např. opakovaně aktualizujete záznamy, které se vyskytují na stejné datové stránce). A zápis menšího objemu dat není taková bomba (checkpoint storm) pro IO - nemusíte mít potom tak velké latence dotazů.
Realita je složitější - každá aplikace se chová trochu jinak, používá se různě rychlé IO, různě nakonfigurované OS, různě se chovající souborové systémy. A navíc existuje proměnná checkpoint_completion_target, která určuje jak intenzivně se mají zapisovat špinavé datové stránky na pozadí - tudíž i když máte relativně dlouhý interval mezi CHECKPOINTy, tak Postgres tiše zapisuje datové stránky na disky a snaží se eliminovat špičky http://www.depesz.com/2010/11/03/checkpoint_completion_target/
Jinak o efektivní nesekvenční write traffic by se měl postarat filesystém a cache filesystému - nicméně pořád ještě hrozí, i když už méně než před několika lety, riziko checkpoint stormů (kdy CHECKPOINT zahltí IO) - tuplem v případě dlouhých intervalů pro CHECKPOINTy a velkého množství shared_buffers.
Závěr - častější CHECKPOINTy nemusí být optimální z pohledu počtu zápisů, ale je to bezpečnější z pohledu latencí příkazů - pokud jsou ale příliš často, tak je to špatně - a je potřeba to řešit.
Zdravím všechny! Vím, že to sem nepatří, ale píši zde jelikož mi můžete pomoci s mým problémem. Jsem pouze uživatel. Potřebuji nainstalovat postgresql pro podporu jiného programu. Po stažení a spuštění instalačního souboru, proběhne celá instalace až do konce a na konci se mi zobrazí toto chybové hlášení:
"Problem running post-install step. Installation may not complete correctly
Error reading file C:/Program files/PostgreSQL/8.4/data/postgresql.conf"
Mezi nainstalovanými programi se mi pak postgresql zobrazuje, ale program, který jej má využívat jej nevidí. A já vůbec netuším jak si s tímto problémem poradit. Věřím, že se mezi Vámi najde nejeden zkušený člověk, co mě nasměruje k vyřešení problému. Budu Vám velmi vděčný! Mám OS W-Vista. Případně můj mail: TPav303@seznam.cz Děkuji a hezké svátky všem!
PostgreSQL pro svůj běh vyžaduje existenci svých datových souborů na disku - a ty neexistují - tudíž pg, jako takový nainstalovaný je, ale neběží. Těch problémů na platformě ms win může být celá řada - od zabezpečení až po antiviry
zkuste