Cách đơn giản nhất để tìm ngày bị thiếu là sử dụng bảng lịch. Tôi đã đăng mã để tạo và điền bảng lịch cho PostgreSQL ; bạn sẽ có thể điều chỉnh nó mà không gặp bất kỳ khó khăn nào.
Với bảng lịch tại chỗ, truy vấn của bạn khá đơn giản và dễ hiểu. Để tìm các ngày còn thiếu cho tháng 10 năm 2011, bạn sẽ sử dụng một cái gì đó dọc theo những dòng này. (Đoán tại bảng "bài đăng" của bạn.)
select c.cal_date
from calendar c
left join posts p on (c.cal_date = p.date)
where p.date is null
and c.cal_date between '2011-10-01' and '2011-10-31'
and p.userid = 1
order by c.cal_date