@ -2362,6 +2362,55 @@ SELECT make_timestamptz(2014, 12, 10, 10, 10, 10, 'PST8PDT');
(1 row)
RESET TimeZone;
-- generate_series for timestamptz
select * from generate_series('2020-01-01 00:00'::timestamptz,
'2020-01-02 03:00'::timestamptz,
'1 hour'::interval);
generate_series
------------------------------
Wed Jan 01 00:00:00 2020 PST
Wed Jan 01 01:00:00 2020 PST
Wed Jan 01 02:00:00 2020 PST
Wed Jan 01 03:00:00 2020 PST
Wed Jan 01 04:00:00 2020 PST
Wed Jan 01 05:00:00 2020 PST
Wed Jan 01 06:00:00 2020 PST
Wed Jan 01 07:00:00 2020 PST
Wed Jan 01 08:00:00 2020 PST
Wed Jan 01 09:00:00 2020 PST
Wed Jan 01 10:00:00 2020 PST
Wed Jan 01 11:00:00 2020 PST
Wed Jan 01 12:00:00 2020 PST
Wed Jan 01 13:00:00 2020 PST
Wed Jan 01 14:00:00 2020 PST
Wed Jan 01 15:00:00 2020 PST
Wed Jan 01 16:00:00 2020 PST
Wed Jan 01 17:00:00 2020 PST
Wed Jan 01 18:00:00 2020 PST
Wed Jan 01 19:00:00 2020 PST
Wed Jan 01 20:00:00 2020 PST
Wed Jan 01 21:00:00 2020 PST
Wed Jan 01 22:00:00 2020 PST
Wed Jan 01 23:00:00 2020 PST
Thu Jan 02 00:00:00 2020 PST
Thu Jan 02 01:00:00 2020 PST
Thu Jan 02 02:00:00 2020 PST
Thu Jan 02 03:00:00 2020 PST
(28 rows)
-- errors
select * from generate_series('-infinity'::timestamptz,
'2020-01-02 03:00'::timestamptz,
'1 hour'::interval);
ERROR: start value cannot be infinity
select * from generate_series('2020-01-01 00:00'::timestamptz,
'infinity'::timestamptz,
'1 hour'::interval);
ERROR: stop value cannot be infinity
select * from generate_series('2020-01-01 00:00'::timestamptz,
'2020-01-02 03:00'::timestamptz,
'0 hour'::interval);
ERROR: step size cannot equal zero
--
-- Test behavior with a dynamic (time-varying) timezone abbreviation.
-- These tests rely on the knowledge that MSK (Europe/Moscow standard time)