Pro velké instalace systému Flexi je nezbytné provést nastavení instance PostgreSQL na souboru postgresql.conf (přesné umístění v Umístění adresářů Flexi na Vašem počítači):
zvýšení počtu spojení max_connections (cca 30 na jednoho možného klienta, při použití REST API či webového/mobilního přístupu ještě více). Pokud dáte hodnotu větší než 200, je potřeba také zkontrolovat hodnotu shared_buffers.
zvětšit počet zámků na transakci – minimálně na počet tabulek: [Lock Management] max_locks_per_transaction = 512
Je možné nastavit i více zámků (např. pokud firma dlouho nevytvářela aktualizace, nemusí množství 500 stačit; zatím ale nemáme zkušenost s nikým, komu by počet nestačil).
Windows
Pokud aktualizujeme z verze, kde jsme
postgresql.confnahrazovali, vrátíme tam výchozíDo hlavního
postgresql.confpouze přidáme odkaz na podsložku s dalšími konfiguračními soubory (include_dir = 'conf.d')Ve podsložce
conf.dmáme svoje.confsoubory. Názvy mají formát:0xx_flexi_popis.conf(např.051_flexi_main.conf)Postgres soubory načítá v pořadí podle názvu, později načtené soubory vyhrávají. Takže uživatel by si měl případně vytvořit soubor
yxx_cokoliv.confkde y> 0(např:101_custom.conf). Tím může přepsat naši konfiguraci. Při reinstalaci mu takový soubor neměníme.Hlavní postgresql.conf ani naše .conf soubory by uživatel měnit neměl, mohou se při reinstalaci přepisovat.
Linux
Řeší to samé popsané v bodu výše, jen na linuxových systémech:
v konfiguraci PostgreSQL nastavujeme volbu
jit = off(obecně to má být zrychlující nastavení, ale u nás naopak dotazy zpomaluje)instalace již nemění výchozí konfigurační soubor databáze
postgresql.conf(jediné co případně přidává je volbainclude_dir = 'conf.d')všechna důležitá nastavení se pak umisťují do
conf.dpodadresáře v samostatných souborech (např.53-jit-off.conf)
Upozornění: nezapomeňte nastavit automatické zálohování!
Vacuum
Standardně se automaticky pouští proces autovacuum. V některých případech, např. pokud databáze přeroste určitou mez, přestane ruční vacuum fungovat. Je tedy vhodné některé parametry zvednout.
MS Windows
V MS Windows se můžete setkats problémem s více jak 125 spojeními:
Zajímavé informace pro nastavení: http://postgres.cz/wiki/Desatero
Při větší zátěži disků pomáhá nastavení: checkpoint_segments. Optimální je nastavit ho na hodnotu 32. Nastavení je pak: checkpoint_segments = 32
Pokud používáte na serveru antivir ESET NOD32, můžete objevit další potíže. V tomto případě nepomůže z kontrol odstranit proces PostgreSQL, adresář, ani vypnutí NOD32. Funguje jen odinstalace, nebo použití nejnovější verze PostgreSQL.
PGTune
Pro konfiguraci postgresql se osvědčil nástroj pgtune z https://pgtune.leopard.in.ua/#/. Script dopočítává další hodnoty v konfiguraci jako shared_buffers, effective_cache_size atd. na základě nastaveného počtu připojení.
