Skip to content

Commit aba2f55

Browse files
committed
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 b2cbced 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
1 parent da0b4c8 commit aba2f55

File tree

6 files changed

+1601
-1593
lines changed

6 files changed

+1601
-1593
lines changed

src/backend/utils/adt/datetime.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1591,7 +1591,10 @@ DetermineTimeZoneOffsetInternal(struct pg_tm *tm, pg_tz *tzp, pg_time_t *tp)
15911591
* fall-back transition, prefer "after". (We used to define and implement
15921592
* this test as "prefer the standard-time interpretation", but that rule
15931593
* does not help to resolve the behavior when both times are reported as
1594-
* standard time; which does happen, eg Europe/Moscow in Oct 2014.)
1594+
* standard time; which does happen, eg Europe/Moscow in Oct 2014. Also,
1595+
* in some zones such as Europe/Dublin, there is widespread confusion
1596+
* about which time offset is "standard" time, so it's fortunate that our
1597+
* behavior doesn't depend on that.)
15951598
*/
15961599
if (beforetime > aftertime)
15971600
{

0 commit comments

Comments
 (0)