Použitá verzia PostgreSQL
Pokiaľ je databázový server PostgreSQL použitý pre potreby archívu, odporúčame použiť verziu PostgreSQL 9.5 a vyššiu. Tieto verzie podporujú príkaz UPSERT a umožňujú nastaviť parameter archívu Upsert na hodnotu 1.
Nastavenia PostgreSQL
V konfiguračnom súbore postgresql.conf odporúčame zmeniť nasledovné nastavenia. Numerické hodnoty sú orientačné a je možné ich ladiť - optimálne hodnoty závisia na záťaži archívu, dostupnej pamäti a pod.
shared_buffers = 256MB
Parameter shared_buffers udáva veľkosť pamäte, ktorá bude dedikovaná PostgreSQL serveru na cachovanie dát.
work_mem = 16MB
Parameter work_mem udáva veľkosť pamäte, ktorú bude PostgreSQL používať na operácie triedenia dát.
maintenance_work_mem = 128MB
Parameter maintenance_work_mem udáva veľkosť pamäte, ktorú bude PostgreSQL používať na operácie údržby (VACUUM a iné). Pokiaľ aplikácia používa štruktúrované archívy, ktoré obsahujú veľa dát, väčšie množstvo pridelenej pamäte údržbu zrýchli.
synchronous_commit = off
Parameter synchronous_commit nastavený na hodnotu off spôsobí, že operácia COMMIT nebude vyžadovať synchronizáciu dát na diskoch, takže sa vykoná rýchlejšie.
checkpoint_completion_target = 0.9
Parameter checkpoint_completion_target nastavený na hodnotu 0.9 spôsobí rovnomernejšie rozloženie zápisových operácií na disk ako prednastavená hodnota 0.5
effective_cache_size = 1000MB
Parameter effective_cache_size udáva, koľko voľnej pamäte použiteľnej na cachovanie dát v súboroch má operačný systém. Tento parameter je používaný pri odhadoch pre PostgreSQL plánovač dotazov. Na platforme Windows odporúčame pozrieť hodnotu "System Cache" resp. hodnotu "Cached" v rámci "Physical Memory" v Task Manageri na záložke Performance.
autovacuum_vacuum_threshold = 100000
Parameter autovacuum_vacuum_threshold udáva, po akom množstve zmenených riadkov sa spustí nad tabuľkou operácia VACUUM.
autovacuum_analyze_threshold = 100000
Parameter autovacuum_analyze_threshold udáva, po akom množstve zmenených riadkov sa spustí nad tabuľkou operácia ANALYZE.
max_locks_per_transaction = 1000
Parameter max_locks_per_transaction udáva množstvo zámkov použitých jednou databázovou transakciou. Táto hodnota by mala byť väčšia alebo rovná parametru archívu CommitCountActive / CommitCountPassive.
Nastavenia archívu
Odporúčame nastaviť parameter archívu Upsert na hodnotu 1. Toto nastavenie zapína použitie príkazu UPSERT, ktorý bol implementovaný v PostgreSQL 9.5. Nastavenie vyžaduje korektné nastavenie ODBC parametrov, ktoré je popísané v nasledovnej časti.
Nastavenia ODBC
Na pripojenie k PostgreSQL sa používa ODBC ovládač k PostgreSQL, konkrétne jeho Unicode verzia. Odporúčané je použiť ovládač minimálne verzie 09.06.0500.
Pre optimálny výkon odporúčame v rozšírených nastaveniach dátového zdroja (DSN) zvýšiť veľkosť cache na 10000:
Na ďalšej stránke rozšírených nastavení DSN je pre správne fungovanie archívu potrebné nastaviť Level of rollback on errors na Transaction a zapnúť Server side prepare:
Súvisiace stránky: