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.conf
nahrazovali, vrátíme tam výchozíDo hlavního
postgresql.conf
pouze přidáme odkaz na podsložku s dalšími konfiguračními soubory (include_dir = 'conf.d'
)Ve podsložce
conf.d
máme svoje.conf
soubory. 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.conf
kde 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.d
podadresář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í.