diff --git a/src/test/regress/expected/timestamptz.out b/src/test/regress/expected/timestamptz.out index 69d3965c60..7226670962 100644 --- a/src/test/regress/expected/timestamptz.out +++ b/src/test/regress/expected/timestamptz.out @@ -1773,24 +1773,24 @@ SELECT * FROM TIMESTAMPTZ_TST ORDER BY a; --Cleanup DROP TABLE TIMESTAMPTZ_TST; -- test timestamptz constructors -set TimeZone to 'America/Santiago'; +set TimeZone to 'America/New_York'; -- numeric timezone SELECT make_timestamptz(1973, 07, 15, 08, 15, 55.33); make_timestamptz --------------------------------- - Sun Jul 15 08:15:55.33 1973 CLT + Sun Jul 15 08:15:55.33 1973 EDT (1 row) SELECT make_timestamptz(1973, 07, 15, 08, 15, 55.33, '+2'); make_timestamptz --------------------------------- - Sun Jul 15 02:15:55.33 1973 CLT + Sun Jul 15 02:15:55.33 1973 EDT (1 row) SELECT make_timestamptz(1973, 07, 15, 08, 15, 55.33, '-2'); make_timestamptz --------------------------------- - Sun Jul 15 06:15:55.33 1973 CLT + Sun Jul 15 06:15:55.33 1973 EDT (1 row) WITH tzs (tz) AS (VALUES @@ -1799,23 +1799,23 @@ WITH tzs (tz) AS (VALUES ('+10:00:1'), ('+10:00:01'), ('+10:00:10')) SELECT make_timestamptz(2010, 2, 27, 3, 45, 00, tz), tz FROM tzs; - make_timestamptz | tz --------------------------------+----------- - Fri Feb 26 23:45:00 2010 CLST | +1 - Fri Feb 26 23:45:00 2010 CLST | +1: - Fri Feb 26 23:45:00 2010 CLST | +1:0 - Fri Feb 26 23:45:00 2010 CLST | +100 - Fri Feb 26 23:45:00 2010 CLST | +1:00 - Fri Feb 26 23:45:00 2010 CLST | +01:00 - Fri Feb 26 14:45:00 2010 CLST | +10 - Fri Feb 26 14:45:00 2010 CLST | +1000 - Fri Feb 26 14:45:00 2010 CLST | +10: - Fri Feb 26 14:45:00 2010 CLST | +10:0 - Fri Feb 26 14:45:00 2010 CLST | +10:00 - Fri Feb 26 14:45:00 2010 CLST | +10:00: - Fri Feb 26 14:44:59 2010 CLST | +10:00:1 - Fri Feb 26 14:44:59 2010 CLST | +10:00:01 - Fri Feb 26 14:44:50 2010 CLST | +10:00:10 + make_timestamptz | tz +------------------------------+----------- + Fri Feb 26 21:45:00 2010 EST | +1 + Fri Feb 26 21:45:00 2010 EST | +1: + Fri Feb 26 21:45:00 2010 EST | +1:0 + Fri Feb 26 21:45:00 2010 EST | +100 + Fri Feb 26 21:45:00 2010 EST | +1:00 + Fri Feb 26 21:45:00 2010 EST | +01:00 + Fri Feb 26 12:45:00 2010 EST | +10 + Fri Feb 26 12:45:00 2010 EST | +1000 + Fri Feb 26 12:45:00 2010 EST | +10: + Fri Feb 26 12:45:00 2010 EST | +10:0 + Fri Feb 26 12:45:00 2010 EST | +10:00 + Fri Feb 26 12:45:00 2010 EST | +10:00: + Fri Feb 26 12:44:59 2010 EST | +10:00:1 + Fri Feb 26 12:44:59 2010 EST | +10:00:01 + Fri Feb 26 12:44:50 2010 EST | +10:00:10 (15 rows) -- these should fail @@ -1861,30 +1861,29 @@ SELECT make_timestamptz(1881, 12, 10, 0, 0, 0, 'Europe/Paris') AT TIME ZONE 'UTC SELECT make_timestamptz(1910, 12, 24, 0, 0, 0, 'Nehwon/Lankhmar'); ERROR: time zone "Nehwon/Lankhmar" not recognized -- abbreviations -SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'CLST'); - make_timestamptz -------------------------------- - Wed Dec 10 10:10:10 2008 CLST +SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'EST'); + make_timestamptz +------------------------------ + Wed Dec 10 10:10:10 2008 EST (1 row) -SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'CLT'); - make_timestamptz -------------------------------- - Wed Dec 10 11:10:10 2008 CLST +SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'EDT'); + make_timestamptz +------------------------------ + Wed Dec 10 09:10:10 2008 EST (1 row) SELECT make_timestamptz(2014, 12, 10, 10, 10, 10, 'PST8PDT'); - make_timestamptz -------------------------------- - Wed Dec 10 15:10:10 2014 CLST + make_timestamptz +------------------------------ + Wed Dec 10 13:10:10 2014 EST (1 row) RESET TimeZone; -- -- Test behavior with a dynamic (time-varying) timezone abbreviation. -- These tests rely on the knowledge that MSK (Europe/Moscow standard time) --- moved forwards in Mar 2011 and that VET (America/Caracas standard time) --- moved backwards in Dec 2007. +-- moved forwards in Mar 2011 and backwards again in Oct 2014. -- SET TimeZone to 'UTC'; SELECT '2011-03-27 00:00:00 Europe/Moscow'::timestamptz; @@ -1995,100 +1994,64 @@ SELECT '2011-03-27 04:00:00 MSK'::timestamptz; Sun Mar 27 00:00:00 2011 UTC (1 row) -SELECT '2007-12-09 02:00:00 America/Caracas'::timestamptz; +SELECT '2014-10-26 00:00:00 Europe/Moscow'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 06:00:00 2007 UTC + Sat Oct 25 20:00:00 2014 UTC (1 row) -SELECT '2007-12-09 02:29:59 America/Caracas'::timestamptz; +SELECT '2014-10-26 00:59:59 Europe/Moscow'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 06:29:59 2007 UTC + Sat Oct 25 20:59:59 2014 UTC (1 row) -SELECT '2007-12-09 02:30:00 America/Caracas'::timestamptz; +SELECT '2014-10-26 01:00:00 Europe/Moscow'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 07:00:00 2007 UTC + Sat Oct 25 22:00:00 2014 UTC (1 row) -SELECT '2007-12-09 02:30:01 America/Caracas'::timestamptz; +SELECT '2014-10-26 01:00:01 Europe/Moscow'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 07:00:01 2007 UTC + Sat Oct 25 22:00:01 2014 UTC (1 row) -SELECT '2007-12-09 02:59:59 America/Caracas'::timestamptz; +SELECT '2014-10-26 02:00:00 Europe/Moscow'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 07:29:59 2007 UTC + Sat Oct 25 23:00:00 2014 UTC (1 row) -SELECT '2007-12-09 03:00:00 America/Caracas'::timestamptz; +SELECT '2014-10-26 00:00:00 MSK'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 07:30:00 2007 UTC + Sat Oct 25 20:00:00 2014 UTC (1 row) -SELECT '2007-12-09 03:00:01 America/Caracas'::timestamptz; +SELECT '2014-10-26 00:59:59 MSK'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 07:30:01 2007 UTC + Sat Oct 25 20:59:59 2014 UTC (1 row) -SELECT '2007-12-09 04:00:00 America/Caracas'::timestamptz; +SELECT '2014-10-26 01:00:00 MSK'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 08:30:00 2007 UTC + Sat Oct 25 22:00:00 2014 UTC (1 row) -SELECT '2007-12-09 02:00:00 VET'::timestamptz; +SELECT '2014-10-26 01:00:01 MSK'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 06:00:00 2007 UTC + Sat Oct 25 22:00:01 2014 UTC (1 row) -SELECT '2007-12-09 02:29:59 VET'::timestamptz; +SELECT '2014-10-26 02:00:00 MSK'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 06:29:59 2007 UTC -(1 row) - -SELECT '2007-12-09 02:30:00 VET'::timestamptz; - timestamptz ------------------------------- - Sun Dec 09 07:00:00 2007 UTC -(1 row) - -SELECT '2007-12-09 02:30:01 VET'::timestamptz; - timestamptz ------------------------------- - Sun Dec 09 07:00:01 2007 UTC -(1 row) - -SELECT '2007-12-09 02:59:59 VET'::timestamptz; - timestamptz ------------------------------- - Sun Dec 09 07:29:59 2007 UTC -(1 row) - -SELECT '2007-12-09 03:00:00 VET'::timestamptz; - timestamptz ------------------------------- - Sun Dec 09 07:30:00 2007 UTC -(1 row) - -SELECT '2007-12-09 03:00:01 VET'::timestamptz; - timestamptz ------------------------------- - Sun Dec 09 07:30:01 2007 UTC -(1 row) - -SELECT '2007-12-09 04:00:00 VET'::timestamptz; - timestamptz ------------------------------- - Sun Dec 09 08:30:00 2007 UTC + Sat Oct 25 23:00:00 2014 UTC (1 row) SELECT '2011-03-27 00:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; @@ -2199,112 +2162,76 @@ SELECT '2011-03-27 04:00:00'::timestamp AT TIME ZONE 'MSK'; Sun Mar 27 00:00:00 2011 UTC (1 row) -SELECT '2007-12-09 02:00:00'::timestamp AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-26 00:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; timezone ------------------------------ - Sun Dec 09 06:00:00 2007 UTC + Sat Oct 25 20:00:00 2014 UTC (1 row) -SELECT '2007-12-09 02:29:59'::timestamp AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-26 00:59:59'::timestamp AT TIME ZONE 'Europe/Moscow'; timezone ------------------------------ - Sun Dec 09 06:29:59 2007 UTC + Sat Oct 25 20:59:59 2014 UTC (1 row) -SELECT '2007-12-09 02:30:00'::timestamp AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-26 01:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; timezone ------------------------------ - Sun Dec 09 07:00:00 2007 UTC + Sat Oct 25 22:00:00 2014 UTC (1 row) -SELECT '2007-12-09 02:30:01'::timestamp AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-26 01:00:01'::timestamp AT TIME ZONE 'Europe/Moscow'; timezone ------------------------------ - Sun Dec 09 07:00:01 2007 UTC + Sat Oct 25 22:00:01 2014 UTC (1 row) -SELECT '2007-12-09 02:59:59'::timestamp AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-26 02:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; timezone ------------------------------ - Sun Dec 09 07:29:59 2007 UTC + Sat Oct 25 23:00:00 2014 UTC (1 row) -SELECT '2007-12-09 03:00:00'::timestamp AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-26 00:00:00'::timestamp AT TIME ZONE 'MSK'; timezone ------------------------------ - Sun Dec 09 07:30:00 2007 UTC + Sat Oct 25 20:00:00 2014 UTC (1 row) -SELECT '2007-12-09 03:00:01'::timestamp AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-26 00:59:59'::timestamp AT TIME ZONE 'MSK'; timezone ------------------------------ - Sun Dec 09 07:30:01 2007 UTC + Sat Oct 25 20:59:59 2014 UTC (1 row) -SELECT '2007-12-09 04:00:00'::timestamp AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-26 01:00:00'::timestamp AT TIME ZONE 'MSK'; timezone ------------------------------ - Sun Dec 09 08:30:00 2007 UTC + Sat Oct 25 22:00:00 2014 UTC (1 row) -SELECT '2007-12-09 02:00:00'::timestamp AT TIME ZONE 'VET'; +SELECT '2014-10-26 01:00:01'::timestamp AT TIME ZONE 'MSK'; timezone ------------------------------ - Sun Dec 09 06:00:00 2007 UTC + Sat Oct 25 22:00:01 2014 UTC (1 row) -SELECT '2007-12-09 02:29:59'::timestamp AT TIME ZONE 'VET'; +SELECT '2014-10-26 02:00:00'::timestamp AT TIME ZONE 'MSK'; timezone ------------------------------ - Sun Dec 09 06:29:59 2007 UTC + Sat Oct 25 23:00:00 2014 UTC (1 row) -SELECT '2007-12-09 02:30:00'::timestamp AT TIME ZONE 'VET'; - timezone ------------------------------- - Sun Dec 09 07:00:00 2007 UTC -(1 row) - -SELECT '2007-12-09 02:30:01'::timestamp AT TIME ZONE 'VET'; - timezone ------------------------------- - Sun Dec 09 07:00:01 2007 UTC -(1 row) - -SELECT '2007-12-09 02:59:59'::timestamp AT TIME ZONE 'VET'; - timezone ------------------------------- - Sun Dec 09 07:29:59 2007 UTC -(1 row) - -SELECT '2007-12-09 03:00:00'::timestamp AT TIME ZONE 'VET'; - timezone ------------------------------- - Sun Dec 09 07:30:00 2007 UTC -(1 row) - -SELECT '2007-12-09 03:00:01'::timestamp AT TIME ZONE 'VET'; - timezone ------------------------------- - Sun Dec 09 07:30:01 2007 UTC -(1 row) - -SELECT '2007-12-09 04:00:00'::timestamp AT TIME ZONE 'VET'; - timezone ------------------------------- - Sun Dec 09 08:30:00 2007 UTC -(1 row) - -SELECT make_timestamptz(2007, 12, 9, 2, 0, 0, 'VET'); +SELECT make_timestamptz(2014, 10, 26, 0, 0, 0, 'MSK'); make_timestamptz ------------------------------ - Sun Dec 09 06:00:00 2007 UTC + Sat Oct 25 20:00:00 2014 UTC (1 row) -SELECT make_timestamptz(2007, 12, 9, 3, 0, 0, 'VET'); +SELECT make_timestamptz(2014, 10, 26, 1, 0, 0, 'MSK'); make_timestamptz ------------------------------ - Sun Dec 09 07:30:00 2007 UTC + Sat Oct 25 22:00:00 2014 UTC (1 row) SELECT to_timestamp( 0); -- 1970-01-01 00:00:00+00 @@ -2391,47 +2318,34 @@ SELECT '2011-03-27 00:00:00 UTC'::timestamptz; Sun Mar 27 04:00:00 2011 MSK (1 row) -SET TimeZone to 'America/Caracas'; -SELECT '2007-12-09 06:00:00 UTC'::timestamptz; +SELECT '2014-10-25 21:00:00 UTC'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 02:00:00 2007 VET + Sun Oct 26 01:00:00 2014 MSK (1 row) -SELECT '2007-12-09 06:30:00 UTC'::timestamptz; +SELECT '2014-10-25 21:59:59 UTC'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 02:30:00 2007 VET + Sun Oct 26 01:59:59 2014 MSK (1 row) -SELECT '2007-12-09 06:59:59 UTC'::timestamptz; +SELECT '2014-10-25 22:00:00 UTC'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 02:59:59 2007 VET + Sun Oct 26 01:00:00 2014 MSK (1 row) -SELECT '2007-12-09 07:00:00 UTC'::timestamptz; +SELECT '2014-10-25 22:00:01 UTC'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 02:30:00 2007 VET + Sun Oct 26 01:00:01 2014 MSK (1 row) -SELECT '2007-12-09 07:00:01 UTC'::timestamptz; +SELECT '2014-10-25 23:00:00 UTC'::timestamptz; timestamptz ------------------------------ - Sun Dec 09 02:30:01 2007 VET -(1 row) - -SELECT '2007-12-09 07:29:59 UTC'::timestamptz; - timestamptz ------------------------------- - Sun Dec 09 02:59:59 2007 VET -(1 row) - -SELECT '2007-12-09 07:30:00 UTC'::timestamptz; - timestamptz ------------------------------- - Sun Dec 09 03:00:00 2007 VET + Sun Oct 26 02:00:00 2014 MSK (1 row) RESET TimeZone; @@ -2477,46 +2391,34 @@ SELECT '2011-03-27 00:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; Sun Mar 27 04:00:00 2011 (1 row) -SELECT '2007-12-09 06:00:00 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-25 21:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; timezone -------------------------- - Sun Dec 09 02:00:00 2007 + Sun Oct 26 01:00:00 2014 (1 row) -SELECT '2007-12-09 06:30:00 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-25 21:59:59 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; timezone -------------------------- - Sun Dec 09 02:30:00 2007 + Sun Oct 26 01:59:59 2014 (1 row) -SELECT '2007-12-09 06:59:59 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-25 22:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; timezone -------------------------- - Sun Dec 09 02:59:59 2007 + Sun Oct 26 01:00:00 2014 (1 row) -SELECT '2007-12-09 07:00:00 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-25 22:00:01 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; timezone -------------------------- - Sun Dec 09 02:30:00 2007 + Sun Oct 26 01:00:01 2014 (1 row) -SELECT '2007-12-09 07:00:01 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-25 23:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; timezone -------------------------- - Sun Dec 09 02:30:01 2007 -(1 row) - -SELECT '2007-12-09 07:29:59 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; - timezone --------------------------- - Sun Dec 09 02:59:59 2007 -(1 row) - -SELECT '2007-12-09 07:30:00 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; - timezone --------------------------- - Sun Dec 09 03:00:00 2007 + Sun Oct 26 02:00:00 2014 (1 row) SELECT '2011-03-26 21:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; @@ -2561,46 +2463,34 @@ SELECT '2011-03-27 00:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; Sun Mar 27 04:00:00 2011 (1 row) -SELECT '2007-12-09 06:00:00 UTC'::timestamptz AT TIME ZONE 'VET'; +SELECT '2014-10-25 21:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; timezone -------------------------- - Sun Dec 09 02:00:00 2007 + Sun Oct 26 01:00:00 2014 (1 row) -SELECT '2007-12-09 06:30:00 UTC'::timestamptz AT TIME ZONE 'VET'; +SELECT '2014-10-25 21:59:59 UTC'::timestamptz AT TIME ZONE 'MSK'; timezone -------------------------- - Sun Dec 09 02:30:00 2007 + Sun Oct 26 01:59:59 2014 (1 row) -SELECT '2007-12-09 06:59:59 UTC'::timestamptz AT TIME ZONE 'VET'; +SELECT '2014-10-25 22:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; timezone -------------------------- - Sun Dec 09 02:59:59 2007 + Sun Oct 26 01:00:00 2014 (1 row) -SELECT '2007-12-09 07:00:00 UTC'::timestamptz AT TIME ZONE 'VET'; +SELECT '2014-10-25 22:00:01 UTC'::timestamptz AT TIME ZONE 'MSK'; timezone -------------------------- - Sun Dec 09 02:30:00 2007 + Sun Oct 26 01:00:01 2014 (1 row) -SELECT '2007-12-09 07:00:01 UTC'::timestamptz AT TIME ZONE 'VET'; +SELECT '2014-10-25 23:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; timezone -------------------------- - Sun Dec 09 02:30:01 2007 -(1 row) - -SELECT '2007-12-09 07:29:59 UTC'::timestamptz AT TIME ZONE 'VET'; - timezone --------------------------- - Sun Dec 09 02:59:59 2007 -(1 row) - -SELECT '2007-12-09 07:30:00 UTC'::timestamptz AT TIME ZONE 'VET'; - timezone --------------------------- - Sun Dec 09 03:00:00 2007 + Sun Oct 26 02:00:00 2014 (1 row) -- diff --git a/src/test/regress/sql/timestamptz.sql b/src/test/regress/sql/timestamptz.sql index 5898747064..97e57a2403 100644 --- a/src/test/regress/sql/timestamptz.sql +++ b/src/test/regress/sql/timestamptz.sql @@ -280,7 +280,7 @@ SELECT * FROM TIMESTAMPTZ_TST ORDER BY a; DROP TABLE TIMESTAMPTZ_TST; -- test timestamptz constructors -set TimeZone to 'America/Santiago'; +set TimeZone to 'America/New_York'; -- numeric timezone SELECT make_timestamptz(1973, 07, 15, 08, 15, 55.33); @@ -309,8 +309,8 @@ SELECT make_timestamptz(1881, 12, 10, 0, 0, 0, 'Europe/Paris') AT TIME ZONE 'UTC SELECT make_timestamptz(1910, 12, 24, 0, 0, 0, 'Nehwon/Lankhmar'); -- abbreviations -SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'CLST'); -SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'CLT'); +SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'EST'); +SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'EDT'); SELECT make_timestamptz(2014, 12, 10, 10, 10, 10, 'PST8PDT'); RESET TimeZone; @@ -318,8 +318,7 @@ RESET TimeZone; -- -- Test behavior with a dynamic (time-varying) timezone abbreviation. -- These tests rely on the knowledge that MSK (Europe/Moscow standard time) --- moved forwards in Mar 2011 and that VET (America/Caracas standard time) --- moved backwards in Dec 2007. +-- moved forwards in Mar 2011 and backwards again in Oct 2014. -- SET TimeZone to 'UTC'; @@ -344,23 +343,17 @@ SELECT '2011-03-27 03:00:00 MSK'::timestamptz; SELECT '2011-03-27 03:00:01 MSK'::timestamptz; SELECT '2011-03-27 04:00:00 MSK'::timestamptz; -SELECT '2007-12-09 02:00:00 America/Caracas'::timestamptz; -SELECT '2007-12-09 02:29:59 America/Caracas'::timestamptz; -SELECT '2007-12-09 02:30:00 America/Caracas'::timestamptz; -SELECT '2007-12-09 02:30:01 America/Caracas'::timestamptz; -SELECT '2007-12-09 02:59:59 America/Caracas'::timestamptz; -SELECT '2007-12-09 03:00:00 America/Caracas'::timestamptz; -SELECT '2007-12-09 03:00:01 America/Caracas'::timestamptz; -SELECT '2007-12-09 04:00:00 America/Caracas'::timestamptz; +SELECT '2014-10-26 00:00:00 Europe/Moscow'::timestamptz; +SELECT '2014-10-26 00:59:59 Europe/Moscow'::timestamptz; +SELECT '2014-10-26 01:00:00 Europe/Moscow'::timestamptz; +SELECT '2014-10-26 01:00:01 Europe/Moscow'::timestamptz; +SELECT '2014-10-26 02:00:00 Europe/Moscow'::timestamptz; -SELECT '2007-12-09 02:00:00 VET'::timestamptz; -SELECT '2007-12-09 02:29:59 VET'::timestamptz; -SELECT '2007-12-09 02:30:00 VET'::timestamptz; -SELECT '2007-12-09 02:30:01 VET'::timestamptz; -SELECT '2007-12-09 02:59:59 VET'::timestamptz; -SELECT '2007-12-09 03:00:00 VET'::timestamptz; -SELECT '2007-12-09 03:00:01 VET'::timestamptz; -SELECT '2007-12-09 04:00:00 VET'::timestamptz; +SELECT '2014-10-26 00:00:00 MSK'::timestamptz; +SELECT '2014-10-26 00:59:59 MSK'::timestamptz; +SELECT '2014-10-26 01:00:00 MSK'::timestamptz; +SELECT '2014-10-26 01:00:01 MSK'::timestamptz; +SELECT '2014-10-26 02:00:00 MSK'::timestamptz; SELECT '2011-03-27 00:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; SELECT '2011-03-27 01:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; @@ -382,26 +375,20 @@ SELECT '2011-03-27 03:00:00'::timestamp AT TIME ZONE 'MSK'; SELECT '2011-03-27 03:00:01'::timestamp AT TIME ZONE 'MSK'; SELECT '2011-03-27 04:00:00'::timestamp AT TIME ZONE 'MSK'; -SELECT '2007-12-09 02:00:00'::timestamp AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 02:29:59'::timestamp AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 02:30:00'::timestamp AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 02:30:01'::timestamp AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 02:59:59'::timestamp AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 03:00:00'::timestamp AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 03:00:01'::timestamp AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 04:00:00'::timestamp AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-26 00:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; +SELECT '2014-10-26 00:59:59'::timestamp AT TIME ZONE 'Europe/Moscow'; +SELECT '2014-10-26 01:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; +SELECT '2014-10-26 01:00:01'::timestamp AT TIME ZONE 'Europe/Moscow'; +SELECT '2014-10-26 02:00:00'::timestamp AT TIME ZONE 'Europe/Moscow'; -SELECT '2007-12-09 02:00:00'::timestamp AT TIME ZONE 'VET'; -SELECT '2007-12-09 02:29:59'::timestamp AT TIME ZONE 'VET'; -SELECT '2007-12-09 02:30:00'::timestamp AT TIME ZONE 'VET'; -SELECT '2007-12-09 02:30:01'::timestamp AT TIME ZONE 'VET'; -SELECT '2007-12-09 02:59:59'::timestamp AT TIME ZONE 'VET'; -SELECT '2007-12-09 03:00:00'::timestamp AT TIME ZONE 'VET'; -SELECT '2007-12-09 03:00:01'::timestamp AT TIME ZONE 'VET'; -SELECT '2007-12-09 04:00:00'::timestamp AT TIME ZONE 'VET'; +SELECT '2014-10-26 00:00:00'::timestamp AT TIME ZONE 'MSK'; +SELECT '2014-10-26 00:59:59'::timestamp AT TIME ZONE 'MSK'; +SELECT '2014-10-26 01:00:00'::timestamp AT TIME ZONE 'MSK'; +SELECT '2014-10-26 01:00:01'::timestamp AT TIME ZONE 'MSK'; +SELECT '2014-10-26 02:00:00'::timestamp AT TIME ZONE 'MSK'; -SELECT make_timestamptz(2007, 12, 9, 2, 0, 0, 'VET'); -SELECT make_timestamptz(2007, 12, 9, 3, 0, 0, 'VET'); +SELECT make_timestamptz(2014, 10, 26, 0, 0, 0, 'MSK'); +SELECT make_timestamptz(2014, 10, 26, 1, 0, 0, 'MSK'); SELECT to_timestamp( 0); -- 1970-01-01 00:00:00+00 SELECT to_timestamp( 946684800); -- 2000-01-01 00:00:00+00 @@ -425,15 +412,11 @@ SELECT '2011-03-26 23:00:01 UTC'::timestamptz; SELECT '2011-03-26 23:59:59 UTC'::timestamptz; SELECT '2011-03-27 00:00:00 UTC'::timestamptz; -SET TimeZone to 'America/Caracas'; - -SELECT '2007-12-09 06:00:00 UTC'::timestamptz; -SELECT '2007-12-09 06:30:00 UTC'::timestamptz; -SELECT '2007-12-09 06:59:59 UTC'::timestamptz; -SELECT '2007-12-09 07:00:00 UTC'::timestamptz; -SELECT '2007-12-09 07:00:01 UTC'::timestamptz; -SELECT '2007-12-09 07:29:59 UTC'::timestamptz; -SELECT '2007-12-09 07:30:00 UTC'::timestamptz; +SELECT '2014-10-25 21:00:00 UTC'::timestamptz; +SELECT '2014-10-25 21:59:59 UTC'::timestamptz; +SELECT '2014-10-25 22:00:00 UTC'::timestamptz; +SELECT '2014-10-25 22:00:01 UTC'::timestamptz; +SELECT '2014-10-25 23:00:00 UTC'::timestamptz; RESET TimeZone; @@ -445,13 +428,11 @@ SELECT '2011-03-26 23:00:01 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; SELECT '2011-03-26 23:59:59 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; SELECT '2011-03-27 00:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; -SELECT '2007-12-09 06:00:00 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 06:30:00 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 06:59:59 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 07:00:00 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 07:00:01 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 07:29:59 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; -SELECT '2007-12-09 07:30:00 UTC'::timestamptz AT TIME ZONE 'America/Caracas'; +SELECT '2014-10-25 21:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; +SELECT '2014-10-25 21:59:59 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; +SELECT '2014-10-25 22:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; +SELECT '2014-10-25 22:00:01 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; +SELECT '2014-10-25 23:00:00 UTC'::timestamptz AT TIME ZONE 'Europe/Moscow'; SELECT '2011-03-26 21:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; SELECT '2011-03-26 22:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; @@ -461,13 +442,11 @@ SELECT '2011-03-26 23:00:01 UTC'::timestamptz AT TIME ZONE 'MSK'; SELECT '2011-03-26 23:59:59 UTC'::timestamptz AT TIME ZONE 'MSK'; SELECT '2011-03-27 00:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; -SELECT '2007-12-09 06:00:00 UTC'::timestamptz AT TIME ZONE 'VET'; -SELECT '2007-12-09 06:30:00 UTC'::timestamptz AT TIME ZONE 'VET'; -SELECT '2007-12-09 06:59:59 UTC'::timestamptz AT TIME ZONE 'VET'; -SELECT '2007-12-09 07:00:00 UTC'::timestamptz AT TIME ZONE 'VET'; -SELECT '2007-12-09 07:00:01 UTC'::timestamptz AT TIME ZONE 'VET'; -SELECT '2007-12-09 07:29:59 UTC'::timestamptz AT TIME ZONE 'VET'; -SELECT '2007-12-09 07:30:00 UTC'::timestamptz AT TIME ZONE 'VET'; +SELECT '2014-10-25 21:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; +SELECT '2014-10-25 21:59:59 UTC'::timestamptz AT TIME ZONE 'MSK'; +SELECT '2014-10-25 22:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; +SELECT '2014-10-25 22:00:01 UTC'::timestamptz AT TIME ZONE 'MSK'; +SELECT '2014-10-25 23:00:00 UTC'::timestamptz AT TIME ZONE 'MSK'; -- -- Test that AT TIME ZONE isn't misoptimized when using an index (bug #14504)