--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
('+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
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;
Sun Mar 27 00:00:00 2011 UTC
(1 row)
-SELECT '2007-12-09 02:00:00 America/Caracas'::timestamptz;
- timestamptz
-------------------------------
- Sun Dec 09 06:00:00 2007 UTC
-(1 row)
-
-SELECT '2007-12-09 02:29:59 America/Caracas'::timestamptz;
+SELECT '2014-10-26 00:00:00 Europe/Moscow'::timestamptz;
timestamptz
------------------------------
- Sun Dec 09 06:29:59 2007 UTC
+ Sat Oct 25 20:00:00 2014 UTC
(1 row)
-SELECT '2007-12-09 02:30:00 America/Caracas'::timestamptz;
+SELECT '2014-10-26 00:59:59 Europe/Moscow'::timestamptz;
timestamptz
------------------------------
- Sun Dec 09 07:00:00 2007 UTC
+ Sat Oct 25 20:59:59 2014 UTC
(1 row)
-SELECT '2007-12-09 02:30:01 America/Caracas'::timestamptz;
+SELECT '2014-10-26 01:00:00 Europe/Moscow'::timestamptz;
timestamptz
------------------------------
- Sun Dec 09 07:00:01 2007 UTC
+ Sat Oct 25 22:00:00 2014 UTC
(1 row)
-SELECT '2007-12-09 02:59:59 America/Caracas'::timestamptz;
+SELECT '2014-10-26 01:00:01 Europe/Moscow'::timestamptz;
timestamptz
------------------------------
- Sun Dec 09 07:29:59 2007 UTC
+ Sat Oct 25 22:00:01 2014 UTC
(1 row)
-SELECT '2007-12-09 03:00:00 America/Caracas'::timestamptz;
+SELECT '2014-10-26 02:00:00 Europe/Moscow'::timestamptz;
timestamptz
------------------------------
- Sun Dec 09 07:30:00 2007 UTC
+ Sat Oct 25 23:00:00 2014 UTC
(1 row)
-SELECT '2007-12-09 03:00:01 America/Caracas'::timestamptz;
+SELECT '2014-10-26 00:00:00 MSK'::timestamptz;
timestamptz
------------------------------
- Sun Dec 09 07:30:01 2007 UTC
+ Sat Oct 25 20:00:00 2014 UTC
(1 row)
-SELECT '2007-12-09 04:00:00 America/Caracas'::timestamptz;
+SELECT '2014-10-26 00:59:59 MSK'::timestamptz;
timestamptz
------------------------------
- Sun Dec 09 08:30:00 2007 UTC
+ Sat Oct 25 20:59:59 2014 UTC
(1 row)
-SELECT '2007-12-09 02:00:00 VET'::timestamptz;
+SELECT '2014-10-26 01:00:00 MSK'::timestamptz;
timestamptz
------------------------------
- Sun Dec 09 06:00:00 2007 UTC
+ Sat Oct 25 22:00:00 2014 UTC
(1 row)
-SELECT '2007-12-09 02:29:59 VET'::timestamptz;
+SELECT '2014-10-26 01:00:01 MSK'::timestamptz;
timestamptz
------------------------------
- Sun Dec 09 06:29:59 2007 UTC
+ Sat Oct 25 22:00:01 2014 UTC
(1 row)
-SELECT '2007-12-09 02:30:00 VET'::timestamptz;
+SELECT '2014-10-26 02:00:00 MSK'::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';
Sun Mar 27 00:00:00 2011 UTC
(1 row)
-SELECT '2007-12-09 02:00:00'::timestamp AT TIME ZONE 'America/Caracas';
- timezone
-------------------------------
- Sun Dec 09 06:00:00 2007 UTC
-(1 row)
-
-SELECT '2007-12-09 02:29:59'::timestamp AT TIME ZONE 'America/Caracas';
- timezone
-------------------------------
- Sun Dec 09 06:29:59 2007 UTC
-(1 row)
-
-SELECT '2007-12-09 02:30:00'::timestamp AT TIME ZONE 'America/Caracas';
- timezone
-------------------------------
- Sun Dec 09 07:00:00 2007 UTC
-(1 row)
-
-SELECT '2007-12-09 02:30:01'::timestamp AT TIME ZONE 'America/Caracas';
- timezone
-------------------------------
- Sun Dec 09 07:00:01 2007 UTC
-(1 row)
-
-SELECT '2007-12-09 02:59:59'::timestamp AT TIME ZONE 'America/Caracas';
- timezone
-------------------------------
- Sun Dec 09 07:29:59 2007 UTC
-(1 row)
-
-SELECT '2007-12-09 03:00:00'::timestamp AT TIME ZONE 'America/Caracas';
- timezone
-------------------------------
- Sun Dec 09 07:30:00 2007 UTC
-(1 row)
-
-SELECT '2007-12-09 03:00:01'::timestamp AT TIME ZONE 'America/Caracas';
+SELECT '2014-10-26 00:00:00'::timestamp AT TIME ZONE 'Europe/Moscow';
timezone
------------------------------
- Sun Dec 09 07:30:01 2007 UTC
+ Sat Oct 25 20:00:00 2014 UTC
(1 row)
-SELECT '2007-12-09 04:00:00'::timestamp AT TIME ZONE 'America/Caracas';
+SELECT '2014-10-26 00:59:59'::timestamp AT TIME ZONE 'Europe/Moscow';
timezone
------------------------------
- Sun Dec 09 08:30:00 2007 UTC
+ Sat Oct 25 20:59:59 2014 UTC
(1 row)
-SELECT '2007-12-09 02:00:00'::timestamp AT TIME ZONE 'VET';
+SELECT '2014-10-26 01:00:00'::timestamp AT TIME ZONE 'Europe/Moscow';
timezone
------------------------------
- Sun Dec 09 06:00:00 2007 UTC
+ Sat Oct 25 22:00:00 2014 UTC
(1 row)
-SELECT '2007-12-09 02:29:59'::timestamp AT TIME ZONE 'VET';
+SELECT '2014-10-26 01:00:01'::timestamp AT TIME ZONE 'Europe/Moscow';
timezone
------------------------------
- Sun Dec 09 06:29:59 2007 UTC
+ Sat Oct 25 22:00:01 2014 UTC
(1 row)
-SELECT '2007-12-09 02:30:00'::timestamp AT TIME ZONE 'VET';
+SELECT '2014-10-26 02:00:00'::timestamp AT TIME ZONE 'Europe/Moscow';
timezone
------------------------------
- Sun Dec 09 07:00:00 2007 UTC
+ Sat Oct 25 23:00:00 2014 UTC
(1 row)
-SELECT '2007-12-09 02:30:01'::timestamp AT TIME ZONE 'VET';
+SELECT '2014-10-26 00:00:00'::timestamp AT TIME ZONE 'MSK';
timezone
------------------------------
- Sun Dec 09 07:00:01 2007 UTC
+ Sat Oct 25 20:00:00 2014 UTC
(1 row)
-SELECT '2007-12-09 02:59:59'::timestamp AT TIME ZONE 'VET';
+SELECT '2014-10-26 00:59:59'::timestamp AT TIME ZONE 'MSK';
timezone
------------------------------
- Sun Dec 09 07:29:59 2007 UTC
+ Sat Oct 25 20:59:59 2014 UTC
(1 row)
-SELECT '2007-12-09 03:00:00'::timestamp AT TIME ZONE 'VET';
+SELECT '2014-10-26 01:00:00'::timestamp AT TIME ZONE 'MSK';
timezone
------------------------------
- Sun Dec 09 07:30:00 2007 UTC
+ Sat Oct 25 22:00:00 2014 UTC
(1 row)
-SELECT '2007-12-09 03:00:01'::timestamp AT TIME ZONE 'VET';
+SELECT '2014-10-26 01:00:01'::timestamp AT TIME ZONE 'MSK';
timezone
------------------------------
- Sun Dec 09 07:30:01 2007 UTC
+ Sat Oct 25 22:00:01 2014 UTC
(1 row)
-SELECT '2007-12-09 04:00:00'::timestamp AT TIME ZONE 'VET';
+SELECT '2014-10-26 02:00:00'::timestamp AT TIME ZONE 'MSK';
timezone
------------------------------
- Sun Dec 09 08:30:00 2007 UTC
+ Sat Oct 25 23:00:00 2014 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
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;
Sun Mar 27 04:00:00 2011
(1 row)
-SELECT '2007-12-09 06:00:00 UTC'::timestamptz AT TIME ZONE 'America/Caracas';
- timezone
---------------------------
- Sun Dec 09 02:00:00 2007
-(1 row)
-
-SELECT '2007-12-09 06:30: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:30:00 2007
+ Sun Oct 26 01:00:00 2014
(1 row)
-SELECT '2007-12-09 06:59:59 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:59:59 2007
+ Sun Oct 26 01:59:59 2014
(1 row)
-SELECT '2007-12-09 07:00:00 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:30:00 2007
+ Sun Oct 26 01:00:00 2014
(1 row)
-SELECT '2007-12-09 07:00:01 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:01 2007
+ Sun Oct 26 01:00:01 2014
(1 row)
-SELECT '2007-12-09 07:29:59 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: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';
Sun Mar 27 04:00:00 2011
(1 row)
-SELECT '2007-12-09 06:00:00 UTC'::timestamptz AT TIME ZONE 'VET';
- timezone
---------------------------
- Sun Dec 09 02:00:00 2007
-(1 row)
-
-SELECT '2007-12-09 06:30:00 UTC'::timestamptz AT TIME ZONE 'VET';
- timezone
---------------------------
- Sun Dec 09 02:30:00 2007
-(1 row)
-
-SELECT '2007-12-09 06:59:59 UTC'::timestamptz AT TIME ZONE 'VET';
+SELECT '2014-10-25 21: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 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 07:00:01 UTC'::timestamptz AT TIME ZONE 'VET';
+SELECT '2014-10-25 22:00:00 UTC'::timestamptz AT TIME ZONE 'MSK';
timezone
--------------------------
- Sun Dec 09 02:30:01 2007
+ Sun Oct 26 01:00:00 2014
(1 row)
-SELECT '2007-12-09 07:29:59 UTC'::timestamptz AT TIME ZONE 'VET';
+SELECT '2014-10-25 22:00:01 UTC'::timestamptz AT TIME ZONE 'MSK';
timezone
--------------------------
- Sun Dec 09 02:59:59 2007
+ Sun Oct 26 01:00:01 2014
(1 row)
-SELECT '2007-12-09 07:30:00 UTC'::timestamptz AT TIME ZONE 'VET';
+SELECT '2014-10-25 23:00:00 UTC'::timestamptz AT TIME ZONE 'MSK';
timezone
--------------------------
- Sun Dec 09 03:00:00 2007
+ Sun Oct 26 02:00:00 2014
(1 row)
--
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);
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;
--
-- 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 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 '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 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 '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';
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 '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 make_timestamptz(2007, 12, 9, 2, 0, 0, 'VET');
-SELECT make_timestamptz(2007, 12, 9, 3, 0, 0, 'VET');
+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 '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(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
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;
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';
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)