Commit 234bb985 authored by Tom Lane's avatar Tom Lane

Update time zone data files to tzdata release 2018e.

DST law changes in North Korea.  Redefinition of "daylight savings" in
Ireland, as well as for some past years in Namibia and Czechoslovakia.
Additional historical corrections for Czechoslovakia.

With this change, the IANA database models Irish timekeeping as following
"standard time" in summer, and "daylight savings" in winter, so that the
daylight savings offset is one hour behind standard time not one hour
ahead.  This does not change their UTC offset (+1:00 in summer, 0:00 in
winter) nor their timezone abbreviations (IST in summer, GMT in winter),
though now "IST" is more correctly read as "Irish Standard Time" not "Irish
Summer Time".  However, the "is_dst" column in the pg_timezone_names view
will now be true in winter and false in summer for the Europe/Dublin zone.

Similar changes were made for Namibia between 1994 and 2017, and for
Czechoslovakia between 1946 and 1947.

So far as I can find, no Postgres internal logic cares about which way
tm_isdst is reported; in particular, since commit b2cbced9 we do not
rely on it to decide how to interpret ambiguous timestamps during DST
transitions.  So I don't think this change will affect any Postgres
behavior other than the timezone-view outputs.

Discussion: https://postgr.es/m/30996.1525445902@sss.pgh.pa.us
parent bef5fcc3
...@@ -1575,7 +1575,10 @@ DetermineTimeZoneOffsetInternal(struct pg_tm *tm, pg_tz *tzp, pg_time_t *tp) ...@@ -1575,7 +1575,10 @@ DetermineTimeZoneOffsetInternal(struct pg_tm *tm, pg_tz *tzp, pg_time_t *tp)
* fall-back transition, prefer "after". (We used to define and implement * fall-back transition, prefer "after". (We used to define and implement
* this test as "prefer the standard-time interpretation", but that rule * this test as "prefer the standard-time interpretation", but that rule
* does not help to resolve the behavior when both times are reported as * does not help to resolve the behavior when both times are reported as
* standard time; which does happen, eg Europe/Moscow in Oct 2014.) * standard time; which does happen, eg Europe/Moscow in Oct 2014. Also,
* in some zones such as Europe/Dublin, there is widespread confusion
* about which time offset is "standard" time, so it's fortunate that our
* behavior doesn't depend on that.)
*/ */
if (beforetime > aftertime) if (beforetime > aftertime)
{ {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -70,15 +70,15 @@ EEST 10800 D ...@@ -70,15 +70,15 @@ EEST 10800 D
EET 7200 EET 7200
EST -18000 EST -18000
GMT 0 GMT 0
GMT 0 D
HDT -32400 D HDT -32400 D
HKT 28800 HKT 28800
HST -36000 HST -36000
IDT 10800 D IDT 10800 D
IST 19800 IST 19800
IST 3600 D IST 3600
IST 7200 IST 7200
JST 32400 JST 32400
KST 30600
KST 32400 KST 32400
MDT -21600 D MDT -21600 D
MEST 7200 D MEST 7200 D
......
...@@ -118,13 +118,13 @@ IRST Asia/Tehran # Iran Standard Time (obsolete) ...@@ -118,13 +118,13 @@ IRST Asia/Tehran # Iran Standard Time (obsolete)
IRT 12600 # Iran Time (not in IANA database) IRT 12600 # Iran Time (not in IANA database)
# CONFLICT! IST is not unique # CONFLICT! IST is not unique
# Other timezones: # Other timezones:
# - IST: Irish Summer Time (Europe) # - IST: Irish Standard Time (Europe)
# - IST: Israel Standard Time (Asia) # - IST: Israel Standard Time (Asia)
IST 19800 # Indian Standard Time IST 19800 # Indian Standard Time
# (Asia/Calcutta) # (Asia/Calcutta)
# CONFLICT! IST is not unique # CONFLICT! IST is not unique
# Other timezones: # Other timezones:
# - IST: Irish Summer Time (Europe) # - IST: Irish Standard Time (Europe)
# - IST: Indian Standard Time (Asia) # - IST: Indian Standard Time (Asia)
IST 7200 # Israel Standard Time IST 7200 # Israel Standard Time
# (Asia/Jerusalem) # (Asia/Jerusalem)
......
...@@ -236,7 +236,7 @@ IRKT Asia/Irkutsk # Irkutsk Time (obsolete) ...@@ -236,7 +236,7 @@ IRKT Asia/Irkutsk # Irkutsk Time (obsolete)
IRT 12600 # Iran Time (not in IANA database) IRT 12600 # Iran Time (not in IANA database)
# CONFLICT! IST is not unique # CONFLICT! IST is not unique
# Other timezones: # Other timezones:
# - IST: Irish Summer Time (Europe) # - IST: Irish Standard Time (Europe)
# - IST: Indian Standard Time (Asia) # - IST: Indian Standard Time (Asia)
IST 7200 # Israel Standard Time IST 7200 # Israel Standard Time
# (Asia/Jerusalem) # (Asia/Jerusalem)
......
...@@ -180,7 +180,7 @@ GMT 0 # Greenwich Mean Time ...@@ -180,7 +180,7 @@ GMT 0 # Greenwich Mean Time
# Other timezones: # Other timezones:
# - IST: Indian Standard Time (Asia) # - IST: Indian Standard Time (Asia)
# - IST: Israel Standard Time (Asia) # - IST: Israel Standard Time (Asia)
IST 3600 D # Irish Summer Time IST 3600 # Irish Standard Time
# (Europe/Dublin) # (Europe/Dublin)
MEST 7200 D # Middle Europe Summer Time MEST 7200 D # Middle Europe Summer Time
# (MET) # (MET)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment