PostgreSQL. Список всех дат между двумя датами

Узнаём timestamp от интересуещей даты

SELECT
    extract( 'epoch' from '2012-02-01'::timestamp without time zone  )::integer

(это будет 1325455200)

Используем generate_series()

SELECT
    *
FROM
    (
        SELECT
            date_trunc(
                'day',
                    to_timestamp(
                        generate_series( 1325455200, 1333691315, 80000 )
                        )
                    )::date AS d
    ) AS s
GROUP BY
    s.d
ORDER BY
    s.d ASC

В результате получим что-то такое:

2012-01-02
2012-01-03
2012-01-04
2012-01-05
...