V niektorých prípadoch môže dôjsť k chybe v databáze, v aplikácii sa takáto chyba väčšinou prejaví chybovým hlásením ohľadom SQL, indexov či databázovej procedúry a pod.
Postup pre analýzu problému
Dôležitým krokom pred zásahmi do databázy je záloha dát, odporúčame zálohovať pravidelne (vlastný/lokálny server, cloud zálohujeme na našej strane), ideálne mať k dispozícii aj staršie zálohy.
Odporúčame vytvoriť záložnú kópiu celého dátového adresára postgresql.
Vykonajte kontrolu integrity disku (check disk, fsck, ...)
Nasleduje oprava postgresu – reindex, vymazanie duplicitných záznamov a pod. (Tento krok je možné vykonať v ojedinelých prípadoch z našej strany formou servisného zásahu. Riešenie by však mal vykonať Váš databázový špecialista.).
Posledným krokom je overenie funkčnosti vytvorením aktuálnej zálohy účtovanej firmy vo Flexi a overovacie obnovenie zo zálohy.
Možné príčiny
V ojedinelých prípadoch došlo u klienta k výpadku služby PostgreSQL
Windows Server 2022 Standard
V logu sa zobrazuje všeobecná informácia: "WinStrom-PostgreSQL bola nečakane ukončená."
Nepomohol štandardný reštart služieb (server a PostgreSQL)
Nakoniec pomohlo spustiť PostgreSQL ručne pomocou pg_ctl start a počkať cca 10 – 15 minút na spustenie. Predvolený timeout 300 s nestačil. Službu sa následne podarilo naštartovať.
ERROR: could not create unique index
Problém je spôsobený zmenou v lokálnom úložisku po aktualizácii OS – PostgreSQL momentálne nemá spôsob, ako detekovať nekompatibilnú aktualizáciu glibc (zdroj). Ako riešenie problému zvyčajne stačí vymazať tabuľku wcolumn.
Príklad chyby:
ERROR: could not create unique index "ddoklint_kod_key" Detail: Key (kod, modul)=(PE+0001/2021, POK) is duplicated.: updateDatabaseInternal
