Generate_series en Postgres desde la fecha de inicio y finalización en una tabla

He estado tratando de generar una serie de fechas (AAAA-MM-DD HH) desde la primera hasta la última fecha en un campo de marca de tiempo. Tengo elgenerate_series() Sin embargo, necesito encontrar un problema cuando intento obtener las fechas de inicio y finalización de una tabla. Tengo lo siguiente para dar una idea 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

Respuestas a la pregunta(3)

Su respuesta a la pregunta