Nejjednodušší způsob, jak najít chybějící data, je použít kalendářovou tabulku. Zveřejnil jsem kód pro vytvoření a naplnění tabulky kalendáře pro PostgreSQL ; měli byste být schopni jej bez problémů přizpůsobit.
S tabulkou kalendáře je váš dotaz docela jednoduchý a snadno pochopitelný. Chcete-li najít chybějící data pro říjen 2011, použili byste něco v tomto smyslu. (Hádejte u vaší tabulky "příspěvků".)
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