Generate_series no Postgres da data de início e término em uma tabela

Eu tenho tentado gerar uma série de datas (AAAA-MM-DD HH) da primeira até a última data em um campo de carimbo de data / hora. Eu tenho ogenerate_series() Eu preciso, no entanto, encontrar um problema ao tentar obter as datas de início e término de uma tabela. Eu tenho o seguinte para dar uma idéia aproximada:

with date1 as
(
SELECT start_timestamp as first_date
FROM header_table
ORDER BY start_timestamp DESC
LIMIT 1
),
date2 as
(
SELECT start_timestamp as first_date
FROM header_table
ORDER BY start_timestamp ASC    
LIMIT 1
)
    select generate_series(date1.first_date, date2.first_date
                         , '1 hour'::interval)::timestamp as date_hour

from
(   select * from date1
    union
    select * from date2) as foo

Postgres 9.3

questionAnswers(3)

yourAnswerToTheQuestion