La forma más sencilla de encontrar las fechas que faltan es usar una tabla de calendario. He publicado código para crear y llenar una tabla de calendario para PostgreSQL ; deberías poder adaptarlo sin ningún problema.
Con la tabla de calendario en su lugar, su consulta es bastante simple y fácil de entender. Para encontrar las fechas que faltan para octubre de 2011, usaría algo similar. (Adivinando en tu tabla de "publicaciones")
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