#825

Broji posjete stranici bez izgubljenih inkremenata

Brojač pregleda članka po kojem istovremeno udara 50 paralelnih zahtjeva. Ako radiš «pročitao vrijednost → uvećao u kodu → upisao», paralelni zahtjevi vide istu početnu vrijednost i dio inkremenata se izgubi. Rješenje je izvesti inkrement jednom naredbom ažuriranja u kojoj se nova vrijednost izvodi iz stare. Uvećaj n za jedan u retku s identifikatorom 1 u tablici counters jednim UPDATE-om. Pokreni naredbu pet puta — konačna vrijednost treba porasti točno za pet. Postgres sam serijalizira ažuriranja po pojedinom retku.

Ovdje će se pojaviti rezultat tvog upita