Gere uma série de intervalos semanais para um determinado mês

Em um banco de dados Postgres 9.1, estou tentando gerar uma série de semanas para um determinado mês, mas com algumas restrições. Eu preciso de todas as semanas para começar na segunda-feira e ser cortado quando eles começam ou terminam em outro mês.

Exemplo:

Para fevereiro de 2013, quero gerar uma série como esta:

         start
------------------------
2013-02-01 00:00:00+00
2013-02-04 00:00:00+00
2013-02-11 00:00:00+00
2013-02-18 00:00:00+00
2013-02-25 00:00:00+00

A consulta que tenho agora se parece com isso:

SELECT GREATEST(date_trunc('week', dates.d),
                date_trunc('month',dates.d)) as start
FROM generate_series(to_timestamp(1359676800),to_timestamp(1362095999), '1 week') as dates(d)

Esta consulta me leva as primeiras 4 semanas, mas está faltando a semana a partir do dia 25. É possível obter a última semana?

questionAnswers(2)

yourAnswerToTheQuestion