Den nemmeste måde at finde manglende datoer på er at bruge en kalendertabel. Jeg har sendt kode for at oprette og udfylde en kalendertabel til PostgreSQL ; du burde være i stand til at tilpasse det uden problemer.
Med kalendertabellen på plads er din forespørgsel ret enkel og let at forstå. For at finde de manglende datoer for oktober 2011, ville du bruge noget i denne retning. (Gætter på din "indlæg"-tabel.)
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