Cara paling sederhana untuk menemukan tanggal yang hilang adalah dengan menggunakan tabel kalender. Saya telah memposting kode untuk membuat dan mengisi tabel kalender untuk PostgreSQL ; Anda harus dapat menyesuaikannya tanpa kesulitan.
Dengan tabel kalender di tempat, kueri Anda cukup sederhana, dan mudah dimengerti. Untuk menemukan tanggal yang hilang untuk Oktober 2011, Anda akan menggunakan sesuatu di sepanjang baris ini. (Menebak tabel "postingan" Anda.)
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