QUERY PLAN
Sort (cost=2790.37..2792.87 rows=1000 width=370)
Sort Key: (date(tt.dt))
-> HashAggregate (cost=2723.04..2740.54 rows=1000 width=370)
Group Key: tt.dt, p.day_at, p.user_id
-> Hash Left Join (cost=2702.79..2715.54 rows=1000 width=354)
Hash Cond: (date(tt.dt) = p.day_at)
-> Function Scan on generate_series tt (cost=0.02..10.02 rows=1000 width=8)
-> Hash (cost=2686.69..2686.69 rows=1287 width=346)
-> Seq Scan on tbl_punch p (cost=0.00..2686.69 rows=1287 width=346)
Filter: (user_id = 1004)