generate_series for range type
range typeと相性が良さそうなので、作ってみた。
create or replace function generate_series (int4range, int4) returns setof int4 as $$ select generate_series( lower($1), upper($1), $2 ); $$ language sql;
select * from generate_series( int4range('[1, 10)') , 1 );
create or replace function generate_series ( tsrange, interval ) returns setof timestamp as $$ select generate_series( lower($1), upper($1), $2 ); $$ language sql;
select * from generate_series( tsrange('[ 2012-12-01 00:00:00, 2012-12-25 00:00:00)') , '1 day' );