V některých případech může dojít k chybě v databázi, v aplikaci se taková chyba většinou projeví chybovým hlášením ohledně SQL, indexů či databázové procedury apod.
V tomto článku naleznete obecný postup při analýze problému s databází.
1. důležitým krok před zásahy do databáze je záloha dat, doporučujeme zálohovat pravidelně (vlastní/lokální server, cloud zálohujeme na naší straně), ideálně mít k dispozici i starší zálohy
2. doporučujeme udělat záložní kopii celého datového adresáře postgresql
3. proveďte kontrolu integrity disku (check disk, fsck, ...)
4. následuje oprava postgresu - reindex, výmaz duplicitní záznamů, apod.
Tento krok je možný provést v ojedinělých případech z naší strany formou servisního zásahu. Řešení by však měl provést Váš databázový specialista.
5. posledním krokem je ověření funkčnost vytvořením aktuální zálohy účtované firmy ve Flexi a ověřovacího obnovení ze zálohy
Ve velmi ojedinělých případech došlo u klienta k výpadku služby PostgreSQL
Windows Server 2022 Standard
V logu se zobrazuje obecné info: "WinStrom-PostgreSQL byla nečekaně ukončena."
Nepomohl standardní restart služeb (server a PostgreSQL)
Nakonec pomohlo nahodit PostgreSQL ručně pomocí pg_ctl start a počkat cca 10 - 15 minut na start. Výchozí timeout 300s nestačil. Službu se následně podařilo nastartovat.
ERROR: could not create unique index
Problém je způsoben změnou na lokálním uložišti po aktualizaci OS - PostgreSQL momentálně nemá způsob, jak detekovat nekompatibilní aktualizaci glibc.
(zdroj). Jako řešení problému obvykle stačí promazat tabulku wcolumn.
Příklad chyby:
ERROR: could not create unique index "ddoklint_kod_key" Detail: Key (kod, modul)=(PE+0001/2021, POK) is duplicated.: updateDatabaseInternal