Options

Wrong timezone for Europe/Moscow

In 2011, daylight saving time has been cancelled in Russia. Since then it is always UTC+4. --- [dbadmin@vertica ~]$ TZ=Europe/Moscow date -d '2012-01-01 00:00:00+00' Sun Jan 1 04:00:00 MSK 2012 --- However, Vertica still uses UTC+3 for winter time: --- vertica=> set timezone 'Europe/Moscow'; SET vertica=> select '2013-01-01 00:00:00+00'::timestamp; ?column? --------------------- 2013-12-01 03:00:00 (1 row) --- Updating "tzdata" package has no effect. How to fix it?

Comments

  • Options
    Problem still exists in Vertica 6.1.3
  • Options
    Can confirm, I'm facing the same problem with Vertica 6.1.2 and 6.1.3.

    Timezones W-SU and MSK are also off:

    dbadmin=> select now() at time zone 'msk';
              timezone          
    ----------------------------
    2013-11-06 16:51:56.728297
    (1 row)
    dbadmin=> select now() at time zone 'europe/moscow';
              timezone          
    ----------------------------  2013-11-06 16:51:56.728297 (1 row)
    dbadmin=> select now() at time zone 'w-su';           timezone           ----------------------------  2013-11-06 16:51:56.728297 (1 row)
    dbadmin=> select now() at time zone 'utc+4';           timezone           ----------------------------  2013-11-06 17:51:56.728297 (1 row)

    I wanted to set TZ=utc04 in /etc/profile, and Vertica accepts this timezone, but it confuses linux 'date' utility:

    [dbadmin@vertica-jenkins ~]$ TZ=utc04 date Срд Ноя  6 11:15:29 utc 2013 [dbadmin@vertica-jenkins ~]$ TZ=utc+4 date Срд Ноя  6 11:15:33 utc 2013 [dbadmin@vertica-jenkins ~]$ TZ=utc-4 date Срд Ноя  6 19:15:35 utc 2013

    ...so I would not recommend it as an acceptable workaround.
  • Options
    Hello,
    Got the same problem with Vertica 7 on Debian 6 Squeeze
    Does someone knows wether and when it will be fixed ?
  • Options

    Problem not resolved fully

     

     

    dbadmin=> select version();
    version
    ------------------------------------
    Vertica Analytic Database v7.1.1-0
    (1 row)


    dbadmin=> select now() at time zone 'utc', now() at time zone 'msk';
    timezone | timezone
    ----------------------------+----------------------------
    2015-06-07 21:10:21.046686 | 2015-06-08 00:10:21.046686 <<<<<<< it's ok, diff between timezones is 3 hours.
    (1 row)


    dbadmin=> set time zone to 'utc';
    SET
    dbadmin=> select now();
    now
    -------------------------------
    2015-06-07 21:10:21.046686+00 <<<<<<< ok
    (1 row)



    dbadmin=> set time zone to 'europe/moscow';
    SET
    dbadmin=> select now();
    now
    -------------------------------
    2015-06-08 01:10:21.046686+04 <<<<<<< +04? no, moscow has +03. it's a bug
    (1 row)


     

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file