Anyone want to update our Windows timezone map?
src/timezone/README saith
When there has been a new release of Windows (probably including Service
Packs), the list of matching timezones need to be updated. Run the
script in src/tools/win32tzlist.pl on a Windows machine running this new
release and apply any new timezones that it detects. Never remove any
mappings in case they are removed in Windows, since we still need to
match properly on the old version.
We have certainly not been doing that on a regular basis (as best I can
tell, no such changes have been made since 2010). Does anybody who uses
Windows want to deal with it? Or at least do it once so that our Windows
TZ info is less than 5 years out of date?
If we got this done in the next couple weeks, any resulting changes
could go out in 9.6rc1. Given that we've not done this routinely,
that seems like a better plan than having them first hit the field
in minor releases of stable branches.
regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On Tue, Aug 16, 2016 at 7:19 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
src/timezone/README saith
When there has been a new release of Windows (probably including Service
Packs), the list of matching timezones need to be updated. Run the
script in src/tools/win32tzlist.pl on a Windows machine running this new
release and apply any new timezones that it detects. Never remove any
mappings in case they are removed in Windows, since we still need to
match properly on the old version.We have certainly not been doing that on a regular basis (as best I can
tell, no such changes have been made since 2010). Does anybody who uses
Windows want to deal with it? Or at least do it once so that our Windows
TZ info is less than 5 years out of date?
By the way, I noticed that Unicode CLDR publishes this data set which
seems to be the same sort of thing:
http://www.unicode.org/cldr/charts/29/supplemental/zone_tzid.html
Could that be a better source than dumping stuff from arbitrary
Windows versions?
--
Thomas Munro
http://www.enterprisedb.com
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Thomas Munro <thomas.munro@enterprisedb.com> writes:
On Tue, Aug 16, 2016 at 7:19 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
We have certainly not been doing that on a regular basis (as best I can
tell, no such changes have been made since 2010). Does anybody who uses
Windows want to deal with it? Or at least do it once so that our Windows
TZ info is less than 5 years out of date?
By the way, I noticed that Unicode CLDR publishes this data set which
seems to be the same sort of thing:
http://www.unicode.org/cldr/charts/29/supplemental/zone_tzid.html
Could that be a better source than dumping stuff from arbitrary
Windows versions?
Well, the point is that we need to recognize the timezone names that
Windows actually uses. A list of strings that's more or less the same
doesn't really cut it ...
regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On Tue, Aug 16, 2016 at 4:19 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
We have certainly not been doing that on a regular basis (as best I can
tell, no such changes have been made since 2010). Does anybody who uses
Windows want to deal with it? Or at least do it once so that our Windows
TZ info is less than 5 years out of date?
It would be a good idea to refresh that.
If we got this done in the next couple weeks, any resulting changes
could go out in 9.6rc1. Given that we've not done this routinely,
that seems like a better plan than having them first hit the field
in minor releases of stable branches.
Agreed. I'll try to give it a shot in the next couple of days at worst.
--
Michael
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On Tue, Aug 16, 2016 at 9:14 AM, Michael Paquier
<michael.paquier@gmail.com> wrote:
On Tue, Aug 16, 2016 at 4:19 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
We have certainly not been doing that on a regular basis (as best I can
tell, no such changes have been made since 2010). Does anybody who uses
Windows want to deal with it? Or at least do it once so that our Windows
TZ info is less than 5 years out of date?It would be a good idea to refresh that.
If we got this done in the next couple weeks, any resulting changes
could go out in 9.6rc1. Given that we've not done this routinely,
that seems like a better plan than having them first hit the field
in minor releases of stable branches.Agreed. I'll try to give it a shot in the next couple of days at worst.
I ran the script on my Win10 station, and saw the attached output,
which results in the patch attached once changes are applied. Results
can be visibly quite different depending on the station used though,
Win7 reports other things. Still my guess is that we'd want Win10 as a
base. Note as well that the registry has switched to UTC instead of
GMT. Thoughts?
--
Michael
Attachments:
win32-tz-v1.patchapplication/x-download; name=win32-tz-v1.patchDownload
diff --git a/src/bin/initdb/findtimezone.c b/src/bin/initdb/findtimezone.c
index 5a44313..70a41f6 100644
--- a/src/bin/initdb/findtimezone.c
+++ b/src/bin/initdb/findtimezone.c
@@ -584,7 +584,7 @@ static const struct
/*
* This list was built from the contents of the registry at
* HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time
- * Zones on Windows 2003 R2.
+ * Zones on Windows 10.
*
* The zones have been matched to Olson timezones by looking at the cities
* listed in the win32 display name (in the comment here) in most cases.
@@ -592,417 +592,516 @@ static const struct
{
"Afghanistan Standard Time", "Afghanistan Daylight Time",
"Asia/Kabul"
- }, /* (GMT+04:30) Kabul */
+ }, /* (UTC+04:30) Kabul */
{
"Alaskan Standard Time", "Alaskan Daylight Time",
"US/Alaska"
- }, /* (GMT-09:00) Alaska */
+ }, /* (UTC-09:00) Alaska */
+ {
+ "Altai Standard Time", "Altai Daylight Time",
+ "Asia/Barnaul"
+ }, /* (UTC+07:00) Barnaul, Gorno-Altaysk */
{
"Arab Standard Time", "Arab Daylight Time",
"Asia/Kuwait"
- }, /* (GMT+03:00) Kuwait, Riyadh */
+ }, /* (UTC+03:00) Kuwait, Riyadh */
{
"Arabian Standard Time", "Arabian Daylight Time",
"Asia/Muscat"
- }, /* (GMT+04:00) Abu Dhabi, Muscat */
+ }, /* (UTC+04:00) Abu Dhabi, Muscat */
{
"Arabic Standard Time", "Arabic Daylight Time",
"Asia/Baghdad"
- }, /* (GMT+03:00) Baghdad */
+ }, /* (UTC+03:00) Baghdad */
{
"Argentina Standard Time", "Argentina Daylight Time",
"America/Buenos_Aires"
- }, /* (GMT-03:00) Buenos Aires */
+ }, /* (UTC-03:00) Buenos Aires */
{
"Armenian Standard Time", "Armenian Daylight Time",
"Asia/Yerevan"
- }, /* (GMT+04:00) Yerevan */
+ }, /* (UTC+04:00) Yerevan */
+ {
+ "Astrakhan Standard Time", "Astrakhan Daylight Time",
+ "Europe/Astrakhan"
+ }, /* (UTC+04:00) Astrakhan, Ulyanovsk */
{
"Atlantic Standard Time", "Atlantic Daylight Time",
"Canada/Atlantic"
- }, /* (GMT-04:00) Atlantic Time (Canada) */
+ }, /* (UTC-04:00) Atlantic Time (Canada) */
{
"AUS Central Standard Time", "AUS Central Daylight Time",
"Australia/Darwin"
- }, /* (GMT+09:30) Darwin */
+ }, /* (UTC+09:30) Darwin */
{
"AUS Eastern Standard Time", "AUS Eastern Daylight Time",
"Australia/Canberra"
- }, /* (GMT+10:00) Canberra, Melbourne, Sydney */
+ }, /* (UTC+10:00) Canberra, Melbourne, Sydney */
{
"Azerbaijan Standard Time", "Azerbaijan Daylight Time",
"Asia/Baku"
- }, /* (GMT+04:00) Baku */
+ }, /* (UTC+04:00) Baku */
{
"Azores Standard Time", "Azores Daylight Time",
"Atlantic/Azores"
- }, /* (GMT-01:00) Azores */
+ }, /* (UTC-01:00) Azores */
+ {
+ "Bahia Standard Time", "Bahia Daylight Time",
+ "America/Salvador"
+ }, /* (UTC-03:00) Salvador */
{
"Bangladesh Standard Time", "Bangladesh Daylight Time",
"Asia/Dhaka"
- }, /* (GMT+06:00) Dhaka */
+ }, /* (UTC+06:00) Dhaka */
+ {
+ "Belarus Standard Time", "Belarus Daylight Time",
+ "Europe/Minsk"
+ }, /* (UTC+03:00) Minsk */
+ {
+ "Cabo Verde Standard Time", "Cabo Verde Daylight Time",
+ "Atlantic/Cape_Verde"
+ }, /* (UTC-01:00) Cabo Verde Is. */
{
"Canada Central Standard Time", "Canada Central Daylight Time",
"Canada/Saskatchewan"
- }, /* (GMT-06:00) Saskatchewan */
+ }, /* (UTC-06:00) Saskatchewan */
{
"Cape Verde Standard Time", "Cape Verde Daylight Time",
"Atlantic/Cape_Verde"
- }, /* (GMT-01:00) Cape Verde Is. */
+ }, /* (UTC-01:00) Cape Verde Is. */
{
"Caucasus Standard Time", "Caucasus Daylight Time",
"Asia/Baku"
- }, /* (GMT+04:00) Baku, Tbilisi, Yerevan */
+ }, /* (UTC+04:00) Baku, Tbilisi, Yerevan */
{
"Cen. Australia Standard Time", "Cen. Australia Daylight Time",
"Australia/Adelaide"
- }, /* (GMT+09:30) Adelaide */
+ }, /* (UTC+09:30) Adelaide */
/* Central America (other than Mexico) generally does not observe DST */
{
"Central America Standard Time", "Central America Daylight Time",
"CST6"
- }, /* (GMT-06:00) Central America */
+ }, /* (UTC-06:00) Central America */
{
"Central Asia Standard Time", "Central Asia Daylight Time",
"Asia/Dhaka"
- }, /* (GMT+06:00) Astana, Dhaka */
+ }, /* (UTC+06:00) Astana, Dhaka */
{
"Central Brazilian Standard Time", "Central Brazilian Daylight Time",
"America/Cuiaba"
- }, /* (GMT-04:00) Cuiaba */
+ }, /* (UTC-04:00) Cuiaba */
{
"Central Europe Standard Time", "Central Europe Daylight Time",
"Europe/Belgrade"
- }, /* (GMT+01:00) Belgrade, Bratislava, Budapest,
+ }, /* (UTC+01:00) Belgrade, Bratislava, Budapest,
* Ljubljana, Prague */
{
"Central European Standard Time", "Central European Daylight Time",
"Europe/Sarajevo"
- }, /* (GMT+01:00) Sarajevo, Skopje, Warsaw,
+ }, /* (UTC+01:00) Sarajevo, Skopje, Warsaw,
* Zagreb */
{
"Central Pacific Standard Time", "Central Pacific Daylight Time",
"Pacific/Noumea"
- }, /* (GMT+11:00) Magadan, Solomon Is., New
+ }, /* (UTC+11:00) Magadan, Solomon Is., New
* Caledonia */
{
"Central Standard Time", "Central Daylight Time",
"US/Central"
- }, /* (GMT-06:00) Central Time (US & Canada) */
+ }, /* (UTC-06:00) Central Time (US & Canada) */
{
"Central Standard Time (Mexico)", "Central Daylight Time (Mexico)",
"America/Mexico_City"
- }, /* (GMT-06:00) Guadalajara, Mexico City,
+ }, /* (UTC-06:00) Guadalajara, Mexico City,
* Monterrey - New */
{
"China Standard Time", "China Daylight Time",
"Asia/Hong_Kong"
- }, /* (GMT+08:00) Beijing, Chongqing, Hong Kong,
+ }, /* (UTC+08:00) Beijing, Chongqing, Hong Kong,
* Urumqi */
{
"Dateline Standard Time", "Dateline Daylight Time",
- "Etc/GMT+12"
- }, /* (GMT-12:00) International Date Line West */
+ "Etc/UTC+12"
+ }, /* (UTC-12:00) International Date Line West */
{
"E. Africa Standard Time", "E. Africa Daylight Time",
"Africa/Nairobi"
- }, /* (GMT+03:00) Nairobi */
+ }, /* (UTC+03:00) Nairobi */
{
"E. Australia Standard Time", "E. Australia Daylight Time",
"Australia/Brisbane"
- }, /* (GMT+10:00) Brisbane */
+ }, /* (UTC+10:00) Brisbane */
{
"E. Europe Standard Time", "E. Europe Daylight Time",
"Europe/Bucharest"
- }, /* (GMT+02:00) Bucharest */
+ }, /* (UTC+02:00) Bucharest */
{
"E. South America Standard Time", "E. South America Daylight Time",
"America/Araguaina"
- }, /* (GMT-03:00) Brasilia */
+ }, /* (UTC-03:00) Brasilia */
{
"Eastern Standard Time", "Eastern Daylight Time",
"US/Eastern"
- }, /* (GMT-05:00) Eastern Time (US & Canada) */
+ }, /* (UTC-05:00) Eastern Time (US & Canada) */
+ {
+ "Eastern Standard Time (Mexico)", "Eastern Daylight Time (Mexico)",
+ "America/Mexico_City"
+ }, /* (UTC-05:00) Chetumal */
{
"Egypt Standard Time", "Egypt Daylight Time",
"Africa/Cairo"
- }, /* (GMT+02:00) Cairo */
+ }, /* (UTC+02:00) Cairo */
{
"Ekaterinburg Standard Time", "Ekaterinburg Daylight Time",
"Asia/Yekaterinburg"
- }, /* (GMT+05:00) Ekaterinburg */
+ }, /* (UTC+05:00) Ekaterinburg */
{
"Fiji Standard Time", "Fiji Daylight Time",
"Pacific/Fiji"
- }, /* (GMT+12:00) Fiji, Kamchatka, Marshall Is. */
+ }, /* (UTC+12:00) Fiji, Kamchatka, Marshall Is. */
{
"FLE Standard Time", "FLE Daylight Time",
"Europe/Helsinki"
- }, /* (GMT+02:00) Helsinki, Kyiv, Riga, Sofia,
+ }, /* (UTC+02:00) Helsinki, Kyiv, Riga, Sofia,
* Tallinn, Vilnius */
{
"Georgian Standard Time", "Georgian Daylight Time",
"Asia/Tbilisi"
- }, /* (GMT+03:00) Tbilisi */
+ }, /* (UTC+03:00) Tbilisi */
{
- "GMT Standard Time", "GMT Daylight Time",
+ "UTC Standard Time", "UTC Daylight Time",
"Europe/London"
- }, /* (GMT) Greenwich Mean Time : Dublin,
- * Edinburgh, Lisbon, London */
+ }, /* (UTC): Dublin, Edinburgh, Lisbon, London */
{
"Greenland Standard Time", "Greenland Daylight Time",
"America/Godthab"
- }, /* (GMT-03:00) Greenland */
+ }, /* (UTC-03:00) Greenland */
{
"Greenwich Standard Time", "Greenwich Daylight Time",
"Africa/Casablanca"
- }, /* (GMT) Casablanca, Monrovia */
+ }, /* (UTC) Casablanca, Monrovia */
{
"GTB Standard Time", "GTB Daylight Time",
"Europe/Athens"
- }, /* (GMT+02:00) Athens, Istanbul, Minsk */
+ }, /* (UTC+02:00) Athens, Istanbul, Minsk */
{
"Hawaiian Standard Time", "Hawaiian Daylight Time",
"US/Hawaii"
- }, /* (GMT-10:00) Hawaii */
+ }, /* (UTC-10:00) Hawaii */
{
"India Standard Time", "India Daylight Time",
"Asia/Calcutta"
- }, /* (GMT+05:30) Chennai, Kolkata, Mumbai, New
+ }, /* (UTC+05:30) Chennai, Kolkata, Mumbai, New
* Delhi */
{
"Iran Standard Time", "Iran Daylight Time",
"Asia/Tehran"
- }, /* (GMT+03:30) Tehran */
+ }, /* (UTC+03:30) Tehran */
{
"Jerusalem Standard Time", "Jerusalem Daylight Time",
"Asia/Jerusalem"
- }, /* (GMT+02:00) Jerusalem */
+ }, /* (UTC+02:00) Jerusalem */
{
"Jordan Standard Time", "Jordan Daylight Time",
"Asia/Amman"
- }, /* (GMT+02:00) Amman */
+ }, /* (UTC+02:00) Amman */
{
"Kamchatka Standard Time", "Kamchatka Daylight Time",
"Asia/Kamchatka"
- }, /* (GMT+12:00) Petropavlovsk-Kamchatsky */
+ }, /* (UTC+12:00) Petropavlovsk-Kamchatsky */
{
"Korea Standard Time", "Korea Daylight Time",
"Asia/Seoul"
- }, /* (GMT+09:00) Seoul */
+ }, /* (UTC+09:00) Seoul */
+ {
+ "Libya Standard Time", "Libya Daylight Time",
+ "Africa/Tripoli"
+ }, /* (UTC+02:00) Tripoli */
+ {
+ "Line Islands Standard Time", "Line Islands Daylight Time",
+ "Pacific/Kiritimati"
+ }, /* (UTC+14:00) Kiritimati Island */
+ {
+ "Magadan Standard Time", "Magadan Daylight Time",
+ "Asia/Magadan"
+ }, /* (UTC+10:00) Magadan */
{
"Mauritius Standard Time", "Mauritius Daylight Time",
"Indian/Mauritius"
- }, /* (GMT+04:00) Port Louis */
+ }, /* (UTC+04:00) Port Louis */
{
"Mexico Standard Time", "Mexico Daylight Time",
"America/Mexico_City"
- }, /* (GMT-06:00) Guadalajara, Mexico City,
+ }, /* (UTC-06:00) Guadalajara, Mexico City,
* Monterrey */
{
"Mexico Standard Time 2", "Mexico Daylight Time 2",
"America/Chihuahua"
- }, /* (GMT-07:00) Chihuahua, La Paz, Mazatlan */
+ }, /* (UTC-07:00) Chihuahua, La Paz, Mazatlan */
{
"Mid-Atlantic Standard Time", "Mid-Atlantic Daylight Time",
"Atlantic/South_Georgia"
- }, /* (GMT-02:00) Mid-Atlantic */
+ }, /* (UTC-02:00) Mid-Atlantic */
{
"Middle East Standard Time", "Middle East Daylight Time",
"Asia/Beirut"
- }, /* (GMT+02:00) Beirut */
+ }, /* (UTC+02:00) Beirut */
{
"Montevideo Standard Time", "Montevideo Daylight Time",
"America/Montevideo"
- }, /* (GMT-03:00) Montevideo */
+ }, /* (UTC-03:00) Montevideo */
{
"Morocco Standard Time", "Morocco Daylight Time",
"Africa/Casablanca"
- }, /* (GMT) Casablanca */
+ }, /* (UTC) Casablanca */
{
"Mountain Standard Time", "Mountain Daylight Time",
"US/Mountain"
- }, /* (GMT-07:00) Mountain Time (US & Canada) */
+ }, /* (UTC-07:00) Mountain Time (US & Canada) */
{
"Mountain Standard Time (Mexico)", "Mountain Daylight Time (Mexico)",
"America/Chihuahua"
- }, /* (GMT-07:00) Chihuahua, La Paz, Mazatlan -
+ }, /* (UTC-07:00) Chihuahua, La Paz, Mazatlan -
* New */
{
"Myanmar Standard Time", "Myanmar Daylight Time",
"Asia/Rangoon"
- }, /* (GMT+06:30) Rangoon */
+ }, /* (UTC+06:30) Rangoon */
{
"N. Central Asia Standard Time", "N. Central Asia Daylight Time",
"Asia/Novosibirsk"
- }, /* (GMT+06:00) Novosibirsk */
+ }, /* (UTC+06:00) Novosibirsk */
{
"Namibia Standard Time", "Namibia Daylight Time",
"Africa/Windhoek"
- }, /* (GMT+02:00) Windhoek */
+ }, /* (UTC+02:00) Windhoek */
{
"Nepal Standard Time", "Nepal Daylight Time",
"Asia/Katmandu"
- }, /* (GMT+05:45) Kathmandu */
+ }, /* (UTC+05:45) Kathmandu */
{
"New Zealand Standard Time", "New Zealand Daylight Time",
"Pacific/Auckland"
- }, /* (GMT+12:00) Auckland, Wellington */
+ }, /* (UTC+12:00) Auckland, Wellington */
{
"Newfoundland Standard Time", "Newfoundland Daylight Time",
"Canada/Newfoundland"
- }, /* (GMT-03:30) Newfoundland */
+ }, /* (UTC-03:30) Newfoundland */
{
"North Asia East Standard Time", "North Asia East Daylight Time",
"Asia/Irkutsk"
- }, /* (GMT+08:00) Irkutsk, Ulaan Bataar */
+ }, /* (UTC+08:00) Irkutsk, Ulaan Bataar */
{
"North Asia Standard Time", "North Asia Daylight Time",
"Asia/Krasnoyarsk"
- }, /* (GMT+07:00) Krasnoyarsk */
+ }, /* (UTC+07:00) Krasnoyarsk */
+ {
+ "North Korea Standard Time", "North Korea Daylight Time",
+ "Asia/Pyongyang"
+ }, /* (UTC+08:30) Pyongyang */
{
"Pacific SA Standard Time", "Pacific SA Daylight Time",
"America/Santiago"
- }, /* (GMT-04:00) Santiago */
+ }, /* (UTC-04:00) Santiago */
{
"Pacific Standard Time", "Pacific Daylight Time",
"US/Pacific"
- }, /* (GMT-08:00) Pacific Time (US & Canada);
+ }, /* (UTC-08:00) Pacific Time (US & Canada);
* Tijuana */
{
"Pacific Standard Time (Mexico)", "Pacific Daylight Time (Mexico)",
"America/Tijuana"
- }, /* (GMT-08:00) Tijuana, Baja California */
+ }, /* (UTC-08:00) Tijuana, Baja California */
{
"Pakistan Standard Time", "Pakistan Daylight Time",
"Asia/Karachi"
- }, /* (GMT+05:00) Islamabad, Karachi */
+ }, /* (UTC+05:00) Islamabad, Karachi */
{
"Paraguay Standard Time", "Paraguay Daylight Time",
"America/Asuncion"
- }, /* (GMT-04:00) Asuncion */
+ }, /* (UTC-04:00) Asuncion */
{
"Romance Standard Time", "Romance Daylight Time",
"Europe/Brussels"
- }, /* (GMT+01:00) Brussels, Copenhagen, Madrid,
+ }, /* (UTC+01:00) Brussels, Copenhagen, Madrid,
* Paris */
{
+ "Russia TZ 1 Standard Time", "Russia TZ 1 Daylight Time",
+ "Europe/Kaliningrad"
+ }, /* (UTC+02:00) Kaliningrad */
+ {
+ "Russia TZ 2 Standard Time", "Russia TZ 2 Daylight Time",
+ "Europe/Moscow"
+ }, /* (UTC+03:00) Moscow, St. Petersburg, Volgograd */
+ {
+ "Russia TZ 3 Standard Time", "Russia TZ 3 Daylight Time",
+ "Europe/Samara"
+ }, /* (UTC+04:00) Izhevsk, Samara */
+ {
+ "Russia TZ 4 Standard Time", "Russia TZ 4 Daylight Time",
+ "Asia/Yekaterinburg"
+ }, /* (UTC+05:00) Ekaterinburg */
+ {
+ "Russia TZ 5 Standard Time", "Russia TZ 5 Daylight Time",
+ "Asia/Novosibirsk"
+ }, /* (UTC+06:00) Novosibirsk */
+ {
+ "Russia TZ 6 Standard Time", "Russia TZ 6 Daylight Time",
+ "Asia/Krasnoyarsk"
+ }, /* (UTC+07:00) Krasnoyarsk */
+ {
+ "Russia TZ 7 Standard Time", "Russia TZ 7 Daylight Time",
+ "Asia/Irkutsk"
+ }, /* (UTC+08:00) Irkutsk */
+ {
+ "Russia TZ 8 Standard Time", "Russia TZ 8 Daylight Time",
+ "Asia/Yakutsk"
+ }, /* (UTC+09:00) Yakutsk */
+ {
+ "Russia TZ 9 Standard Time", "Russia TZ 9 Daylight Time",
+ "Asia/Vladivostok"
+ }, /* (UTC+10:00) Vladivostok */
+ {
+ "Russia TZ 10 Standard Time", "Russia TZ 10 Daylight Time",
+ "Asia/Magadan"
+ }, /* (UTC+11:00) Chokurdakh */
+ {
+ "Russia TZ 11 Standard Time", "Russia TZ 11 Daylight Time",
+ "Asia/Anadyr"
+ }, /* (UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky */
+ {
"Russian Standard Time", "Russian Daylight Time",
"Europe/Moscow"
- }, /* (GMT+03:00) Moscow, St. Petersburg,
+ }, /* (UTC+03:00) Moscow, St. Petersburg,
* Volgograd */
{
"SA Eastern Standard Time", "SA Eastern Daylight Time",
"America/Buenos_Aires"
- }, /* (GMT-03:00) Buenos Aires, Georgetown */
+ }, /* (UTC-03:00) Buenos Aires, Georgetown */
{
"SA Pacific Standard Time", "SA Pacific Daylight Time",
"America/Bogota"
- }, /* (GMT-05:00) Bogota, Lima, Quito */
+ }, /* (UTC-05:00) Bogota, Lima, Quito */
{
"SA Western Standard Time", "SA Western Daylight Time",
"America/Caracas"
- }, /* (GMT-04:00) Caracas, La Paz */
+ }, /* (UTC-04:00) Caracas, La Paz */
{
"Samoa Standard Time", "Samoa Daylight Time",
"Pacific/Midway"
- }, /* (GMT-11:00) Midway Island, Samoa */
+ }, /* (UTC-11:00) Midway Island, Samoa */
{
"SE Asia Standard Time", "SE Asia Daylight Time",
"Asia/Bangkok"
- }, /* (GMT+07:00) Bangkok, Hanoi, Jakarta */
+ }, /* (UTC+07:00) Bangkok, Hanoi, Jakarta */
{
"Malay Peninsula Standard Time", "Malay Peninsula Daylight Time",
"Asia/Kuala_Lumpur"
- }, /* (GMT+08:00) Kuala Lumpur, Singapore */
+ }, /* (UTC+08:00) Kuala Lumpur, Singapore */
+ {
+ "Sakhalin Standard Time", "Sakhalin Daylight Time",
+ "Asia/Sakhalin"
+ }, /* (UTC+11:00) Sakhalin */
{
"South Africa Standard Time", "South Africa Daylight Time",
"Africa/Harare"
- }, /* (GMT+02:00) Harare, Pretoria */
+ }, /* (UTC+02:00) Harare, Pretoria */
{
"Sri Lanka Standard Time", "Sri Lanka Daylight Time",
"Asia/Colombo"
- }, /* (GMT+06:00) Sri Jayawardenepura */
+ }, /* (UTC+06:00) Sri Jayawardenepura */
+ {
+ "Syria Standard Time", "Syria Daylight Time",
+ "Asia/Damascus"
+ }, /* (UTC+02:00) Damascus */
{
"Taipei Standard Time", "Taipei Daylight Time",
"Asia/Taipei"
- }, /* (GMT+08:00) Taipei */
+ }, /* (UTC+08:00) Taipei */
{
"Tasmania Standard Time", "Tasmania Daylight Time",
"Australia/Hobart"
- }, /* (GMT+10:00) Hobart */
+ }, /* (UTC+10:00) Hobart */
{
"Tokyo Standard Time", "Tokyo Daylight Time",
"Asia/Tokyo"
- }, /* (GMT+09:00) Osaka, Sapporo, Tokyo */
+ }, /* (UTC+09:00) Osaka, Sapporo, Tokyo */
{
"Tonga Standard Time", "Tonga Daylight Time",
"Pacific/Tongatapu"
- }, /* (GMT+13:00) Nuku'alofa */
+ }, /* (UTC+13:00) Nuku'alofa */
+ {
+ "Transbaikal Standard Time", "Transbaikal Daylight Time",
+ "Asia/Chita"
+ }, /* (UTC+09:00) Chita */
+ {
+ "Turkey Standard Time", "Turkey Daylight Time",
+ "Europe/Istanbul"
+ }, /* (UTC+02:00) Istanbul */
{
"Ulaanbaatar Standard Time", "Ulaanbaatar Daylight Time",
"Asia/Ulaanbaatar",
- }, /* (GMT+08:00) Ulaanbaatar */
+ }, /* (UTC+08:00) Ulaanbaatar */
{
"US Eastern Standard Time", "US Eastern Daylight Time",
"US/Eastern"
- }, /* (GMT-05:00) Indiana (East) */
+ }, /* (UTC-05:00) Indiana (East) */
{
"US Mountain Standard Time", "US Mountain Daylight Time",
"US/Arizona"
- }, /* (GMT-07:00) Arizona */
+ }, /* (UTC-07:00) Arizona */
{
"Coordinated Universal Time", "Coordinated Universal Time",
"UTC"
- }, /* (GMT) Coordinated Universal Time */
+ }, /* (UTC) Coordinated Universal Time */
{
"UTC+12", "UTC+12",
- "Etc/GMT+12"
- }, /* (GMT+12:00) Coordinated Universal Time+12 */
+ "Etc/UTC+12"
+ }, /* (UTC+12:00) Coordinated Universal Time+12 */
{
"UTC-02", "UTC-02",
- "Etc/GMT-02"
- }, /* (GMT-02:00) Coordinated Universal Time-02 */
+ "Etc/UTC-02"
+ }, /* (UTC-02:00) Coordinated Universal Time-02 */
{
"UTC-11", "UTC-11",
- "Etc/GMT-11"
- }, /* (GMT-11:00) Coordinated Universal Time-11 */
+ "Etc/UTC-11"
+ }, /* (UTC-11:00) Coordinated Universal Time-11 */
{
"Venezuela Standard Time", "Venezuela Daylight Time",
"America/Caracas",
- }, /* (GMT-04:30) Caracas */
+ }, /* (UTC-04:30) Caracas */
{
"Vladivostok Standard Time", "Vladivostok Daylight Time",
"Asia/Vladivostok"
- }, /* (GMT+10:00) Vladivostok */
+ }, /* (UTC+10:00) Vladivostok */
{
"W. Australia Standard Time", "W. Australia Daylight Time",
"Australia/Perth"
- }, /* (GMT+08:00) Perth */
+ }, /* (UTC+08:00) Perth */
#ifdef NOT_USED
/* Could not find a match for this one (just a guess). Excluded for now. */
{
"W. Central Africa Standard Time", "W. Central Africa Daylight Time",
"WAT"
- }, /* (GMT+01:00) West Central Africa */
+ }, /* (UTC+01:00) West Central Africa */
#endif
{
"W. Europe Standard Time", "W. Europe Daylight Time",
"CET"
- }, /* (GMT+01:00) Amsterdam, Berlin, Bern, Rome,
+ }, /* (UTC+01:00) Amsterdam, Berlin, Bern, Rome,
* Stockholm, Vienna */
{
"West Asia Standard Time", "West Asia Daylight Time",
"Asia/Karachi"
- }, /* (GMT+05:00) Islamabad, Karachi, Tashkent */
+ }, /* (UTC+05:00) Islamabad, Karachi, Tashkent */
{
"West Pacific Standard Time", "West Pacific Daylight Time",
"Pacific/Guam"
- }, /* (GMT+10:00) Guam, Port Moresby */
+ }, /* (UTC+10:00) Guam, Port Moresby */
{
"Yakutsk Standard Time", "Yakutsk Daylight Time",
"Asia/Yakutsk"
- }, /* (GMT+09:00) Yakutsk */
+ }, /* (UTC+09:00) Yakutsk */
{
NULL, NULL, NULL
}
On Tue, Aug 16, 2016 at 11:15 AM, Michael Paquier <michael.paquier@gmail.com
wrote:
On Tue, Aug 16, 2016 at 9:14 AM, Michael Paquier
<michael.paquier@gmail.com> wrote:On Tue, Aug 16, 2016 at 4:19 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
We have certainly not been doing that on a regular basis (as best I can
tell, no such changes have been made since 2010). Does anybody who uses
Windows want to deal with it? Or at least do it once so that ourWindows
TZ info is less than 5 years out of date?
It would be a good idea to refresh that.
If we got this done in the next couple weeks, any resulting changes
could go out in 9.6rc1. Given that we've not done this routinely,
that seems like a better plan than having them first hit the field
in minor releases of stable branches.Agreed. I'll try to give it a shot in the next couple of days at worst.
I ran the script on my Win10 station, and saw the attached output,
which results in the patch attached once changes are applied. Results
can be visibly quite different depending on the station used though,
Win7 reports other things. Still my guess is that we'd want Win10 as a
base. Note as well that the registry has switched to UTC instead of
GMT. Thoughts?
I think what we want is basically the UNION ALL of all the different active
versions. If we just use the definitions from Win10, we will map
incorrectly on Win7. As long as they are not *conflicting*, we should just
add them all.
The UTC->GMT switch is mostly just annoying as it only hits the comments,
right? I think we just accept that change and do a once-over patch that
changes all those things.
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
On Tue, Aug 16, 2016 at 6:22 PM, Magnus Hagander <magnus@hagander.net> wrote:
I think what we want is basically the UNION ALL of all the different active
versions. If we just use the definitions from Win10, we will map incorrectly
on Win7. As long as they are not *conflicting*, we should just add them all.
I see, so that's why the script does not do any suggestions to remove any data.
The UTC->GMT switch is mostly just annoying as it only hits the comments,
right? I think we just accept that change and do a once-over patch that
changes all those things.
OK, so after re-running that on my Win10 station and a newly updated
Win7 station I am finishing with the attached that combines all the
changes.
--
Michael
Attachments:
win32-tz-v2.patchapplication/x-download; name=win32-tz-v2.patchDownload
diff --git a/src/bin/initdb/findtimezone.c b/src/bin/initdb/findtimezone.c
index 5a44313..b32ba9f 100644
--- a/src/bin/initdb/findtimezone.c
+++ b/src/bin/initdb/findtimezone.c
@@ -584,7 +584,7 @@ static const struct
/*
* This list was built from the contents of the registry at
* HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time
- * Zones on Windows 2003 R2.
+ * Zones on Windows 10 and Windows 7.
*
* The zones have been matched to Olson timezones by looking at the cities
* listed in the win32 display name (in the comment here) in most cases.
@@ -592,417 +592,590 @@ static const struct
{
"Afghanistan Standard Time", "Afghanistan Daylight Time",
"Asia/Kabul"
- }, /* (GMT+04:30) Kabul */
+ }, /* (UTC+04:30) Kabul */
{
"Alaskan Standard Time", "Alaskan Daylight Time",
"US/Alaska"
- }, /* (GMT-09:00) Alaska */
+ }, /* (UTC-09:00) Alaska */
+ {
+ "Aleutian Standard Time", "Aleutian Daylight Time",
+ "US/Aleutan"
+ }, /* (UTC-10:00) Aleutian Islands */
+ {
+ "Altai Standard Time", "Altai Daylight Time",
+ "Asia/Barnaul"
+ }, /* (UTC+07:00) Barnaul, Gorno-Altaysk */
{
"Arab Standard Time", "Arab Daylight Time",
"Asia/Kuwait"
- }, /* (GMT+03:00) Kuwait, Riyadh */
+ }, /* (UTC+03:00) Kuwait, Riyadh */
{
"Arabian Standard Time", "Arabian Daylight Time",
"Asia/Muscat"
- }, /* (GMT+04:00) Abu Dhabi, Muscat */
+ }, /* (UTC+04:00) Abu Dhabi, Muscat */
{
"Arabic Standard Time", "Arabic Daylight Time",
"Asia/Baghdad"
- }, /* (GMT+03:00) Baghdad */
+ }, /* (UTC+03:00) Baghdad */
{
"Argentina Standard Time", "Argentina Daylight Time",
"America/Buenos_Aires"
- }, /* (GMT-03:00) Buenos Aires */
+ }, /* (UTC-03:00) City of Buenos Aires */
{
"Armenian Standard Time", "Armenian Daylight Time",
"Asia/Yerevan"
- }, /* (GMT+04:00) Yerevan */
+ }, /* (UTC+04:00) Baku, Tbilisi, Yerevan */
+ {
+ "Astrakhan Standard Time", "Astrakhan Daylight Time",
+ "Europe/Astrakhan"
+ }, /* (UTC+04:00) Astrakhan, Ulyanovsk */
{
"Atlantic Standard Time", "Atlantic Daylight Time",
"Canada/Atlantic"
- }, /* (GMT-04:00) Atlantic Time (Canada) */
+ }, /* (UTC-04:00) Atlantic Time (Canada) */
{
"AUS Central Standard Time", "AUS Central Daylight Time",
"Australia/Darwin"
- }, /* (GMT+09:30) Darwin */
+ }, /* (UTC+09:30) Darwin */
+ {
+ "Aus Central W. Standard Time", "Aus Central W. Daylight Time",
+ "Australia/Eucla"
+ }, /* (UTC+08:45) Eucla */
{
"AUS Eastern Standard Time", "AUS Eastern Daylight Time",
"Australia/Canberra"
- }, /* (GMT+10:00) Canberra, Melbourne, Sydney */
+ }, /* (UTC+10:00) Canberra, Melbourne, Sydney */
{
"Azerbaijan Standard Time", "Azerbaijan Daylight Time",
"Asia/Baku"
- }, /* (GMT+04:00) Baku */
+ }, /* (UTC+04:00) Baku */
{
"Azores Standard Time", "Azores Daylight Time",
"Atlantic/Azores"
- }, /* (GMT-01:00) Azores */
+ }, /* (UTC-01:00) Azores */
+ {
+ "Bahia Standard Time", "Bahia Daylight Time",
+ "America/Salvador"
+ }, /* (UTC-03:00) Salvador */
{
"Bangladesh Standard Time", "Bangladesh Daylight Time",
"Asia/Dhaka"
- }, /* (GMT+06:00) Dhaka */
+ }, /* (UTC+06:00) Dhaka */
+ {
+ "Bougainville Standard Time", "Bougainville Daylight Time",
+ "Pacific/Bougainville"
+ }, /* (UTC+11:00) Bougainville Island */
+ {
+ "Belarus Standard Time", "Belarus Daylight Time",
+ "Europe/Minsk"
+ }, /* (UTC+03:00) Minsk */
+ {
+ "Cabo Verde Standard Time", "Cabo Verde Daylight Time",
+ "Atlantic/Cape_Verde"
+ }, /* (UTC-01:00) Cabo Verde Is. */
+ {
+ "Chatham Islands Standard Time", "Chatham Islands Daylight Time",
+ "Pacific/Chatham"
+ }, /* (UTC+12:45) Chatham Islands */
{
"Canada Central Standard Time", "Canada Central Daylight Time",
"Canada/Saskatchewan"
- }, /* (GMT-06:00) Saskatchewan */
+ }, /* (UTC-06:00) Saskatchewan */
{
"Cape Verde Standard Time", "Cape Verde Daylight Time",
"Atlantic/Cape_Verde"
- }, /* (GMT-01:00) Cape Verde Is. */
+ }, /* (UTC-01:00) Cape Verde Is. */
{
"Caucasus Standard Time", "Caucasus Daylight Time",
"Asia/Baku"
- }, /* (GMT+04:00) Baku, Tbilisi, Yerevan */
+ }, /* (UTC+04:00) Yerevan */
{
"Cen. Australia Standard Time", "Cen. Australia Daylight Time",
"Australia/Adelaide"
- }, /* (GMT+09:30) Adelaide */
+ }, /* (UTC+09:30) Adelaide */
/* Central America (other than Mexico) generally does not observe DST */
{
"Central America Standard Time", "Central America Daylight Time",
"CST6"
- }, /* (GMT-06:00) Central America */
+ }, /* (UTC-06:00) Central America */
{
"Central Asia Standard Time", "Central Asia Daylight Time",
"Asia/Dhaka"
- }, /* (GMT+06:00) Astana, Dhaka */
+ }, /* (UTC+06:00) Astana */
{
"Central Brazilian Standard Time", "Central Brazilian Daylight Time",
"America/Cuiaba"
- }, /* (GMT-04:00) Cuiaba */
+ }, /* (UTC-04:00) Cuiaba */
{
"Central Europe Standard Time", "Central Europe Daylight Time",
"Europe/Belgrade"
- }, /* (GMT+01:00) Belgrade, Bratislava, Budapest,
+ }, /* (UTC+01:00) Belgrade, Bratislava, Budapest,
* Ljubljana, Prague */
{
"Central European Standard Time", "Central European Daylight Time",
"Europe/Sarajevo"
- }, /* (GMT+01:00) Sarajevo, Skopje, Warsaw,
+ }, /* (UTC+01:00) Sarajevo, Skopje, Warsaw,
* Zagreb */
{
"Central Pacific Standard Time", "Central Pacific Daylight Time",
"Pacific/Noumea"
- }, /* (GMT+11:00) Magadan, Solomon Is., New
- * Caledonia */
+ }, /* (UTC+11:00) Solomon Is., New Caledonia */
{
"Central Standard Time", "Central Daylight Time",
"US/Central"
- }, /* (GMT-06:00) Central Time (US & Canada) */
+ }, /* (UTC-06:00) Central Time (US & Canada) */
{
"Central Standard Time (Mexico)", "Central Daylight Time (Mexico)",
"America/Mexico_City"
- }, /* (GMT-06:00) Guadalajara, Mexico City,
- * Monterrey - New */
+ }, /* (UTC-06:00) Guadalajara, Mexico City,
+ * Monterrey */
{
"China Standard Time", "China Daylight Time",
"Asia/Hong_Kong"
- }, /* (GMT+08:00) Beijing, Chongqing, Hong Kong,
+ }, /* (UTC+08:00) Beijing, Chongqing, Hong Kong,
* Urumqi */
{
+ "Cuba Standard Time", "Cuba Daylight Time",
+ "America/Havana"
+ }, /* (UTC-05:00) Havana */
+ {
"Dateline Standard Time", "Dateline Daylight Time",
- "Etc/GMT+12"
- }, /* (GMT-12:00) International Date Line West */
+ "Etc/UTC+12"
+ }, /* (UTC-12:00) International Date Line West */
{
"E. Africa Standard Time", "E. Africa Daylight Time",
"Africa/Nairobi"
- }, /* (GMT+03:00) Nairobi */
+ }, /* (UTC+03:00) Nairobi */
{
"E. Australia Standard Time", "E. Australia Daylight Time",
"Australia/Brisbane"
- }, /* (GMT+10:00) Brisbane */
+ }, /* (UTC+10:00) Brisbane */
{
"E. Europe Standard Time", "E. Europe Daylight Time",
"Europe/Bucharest"
- }, /* (GMT+02:00) Bucharest */
+ }, /* (UTC+02:00) E. Europe */
{
"E. South America Standard Time", "E. South America Daylight Time",
"America/Araguaina"
- }, /* (GMT-03:00) Brasilia */
+ }, /* (UTC-03:00) Brasilia */
{
"Eastern Standard Time", "Eastern Daylight Time",
"US/Eastern"
- }, /* (GMT-05:00) Eastern Time (US & Canada) */
+ }, /* (UTC-05:00) Eastern Time (US & Canada) */
+ {
+ "Eastern Standard Time (Mexico)", "Eastern Daylight Time (Mexico)",
+ "America/Mexico_City"
+ }, /* (UTC-05:00) Chetumal */
+ {
+ "Easter Island Standard Time", "Easter Island Daylight Time",
+ "Pacific/Easter"
+ }, /* (UTC-06:00) Easter Island */
{
"Egypt Standard Time", "Egypt Daylight Time",
"Africa/Cairo"
- }, /* (GMT+02:00) Cairo */
+ }, /* (UTC+02:00) Cairo */
{
- "Ekaterinburg Standard Time", "Ekaterinburg Daylight Time",
+ "Ekaterinburg Standard Time (RTZ 4)", "Ekaterinburg Daylight Time",
"Asia/Yekaterinburg"
- }, /* (GMT+05:00) Ekaterinburg */
+ }, /* (UTC+05:00) Ekaterinburg */
{
"Fiji Standard Time", "Fiji Daylight Time",
"Pacific/Fiji"
- }, /* (GMT+12:00) Fiji, Kamchatka, Marshall Is. */
+ }, /* (UTC+12:00) Fiji */
{
"FLE Standard Time", "FLE Daylight Time",
"Europe/Helsinki"
- }, /* (GMT+02:00) Helsinki, Kyiv, Riga, Sofia,
+ }, /* (UTC+02:00) Helsinki, Kyiv, Riga, Sofia,
* Tallinn, Vilnius */
{
"Georgian Standard Time", "Georgian Daylight Time",
"Asia/Tbilisi"
- }, /* (GMT+03:00) Tbilisi */
+ }, /* (UTC+04:00) Tbilisi */
{
"GMT Standard Time", "GMT Daylight Time",
"Europe/London"
- }, /* (GMT) Greenwich Mean Time : Dublin,
- * Edinburgh, Lisbon, London */
+ }, /* (UTC) Dublin, Edinburgh, Lisbon, London */
{
"Greenland Standard Time", "Greenland Daylight Time",
"America/Godthab"
- }, /* (GMT-03:00) Greenland */
+ }, /* (UTC-03:00) Greenland */
{
"Greenwich Standard Time", "Greenwich Daylight Time",
"Africa/Casablanca"
- }, /* (GMT) Casablanca, Monrovia */
+ }, /* (UTC) Monrovia, Reykjavik */
{
"GTB Standard Time", "GTB Daylight Time",
"Europe/Athens"
- }, /* (GMT+02:00) Athens, Istanbul, Minsk */
+ }, /* (UTC+02:00) Athens, Bucharest */
+ {
+ "Haiti Standard Time", "Haiti Daylight Time",
+ "US/Eastern"
+ }, /* (UTC-05:00) Haiti */
{
"Hawaiian Standard Time", "Hawaiian Daylight Time",
"US/Hawaii"
- }, /* (GMT-10:00) Hawaii */
+ }, /* (UTC-10:00) Hawaii */
{
"India Standard Time", "India Daylight Time",
"Asia/Calcutta"
- }, /* (GMT+05:30) Chennai, Kolkata, Mumbai, New
+ }, /* (UTC+05:30) Chennai, Kolkata, Mumbai, New
* Delhi */
{
"Iran Standard Time", "Iran Daylight Time",
"Asia/Tehran"
- }, /* (GMT+03:30) Tehran */
+ }, /* (UTC+03:30) Tehran */
{
"Jerusalem Standard Time", "Jerusalem Daylight Time",
"Asia/Jerusalem"
- }, /* (GMT+02:00) Jerusalem */
+ }, /* (UTC+02:00) Jerusalem */
{
"Jordan Standard Time", "Jordan Daylight Time",
"Asia/Amman"
- }, /* (GMT+02:00) Amman */
+ }, /* (UTC+02:00) Amman */
{
"Kamchatka Standard Time", "Kamchatka Daylight Time",
"Asia/Kamchatka"
- }, /* (GMT+12:00) Petropavlovsk-Kamchatsky */
+ }, /* (UTC+12:00) Petropavlovsk-Kamchatsky - Old */
{
"Korea Standard Time", "Korea Daylight Time",
"Asia/Seoul"
- }, /* (GMT+09:00) Seoul */
+ }, /* (UTC+09:00) Seoul */
+ {
+ "Libya Standard Time", "Libya Daylight Time",
+ "Africa/Tripoli"
+ }, /* (UTC+02:00) Tripoli */
+ {
+ "Line Islands Standard Time", "Line Islands Daylight Time",
+ "Pacific/Kiritimati"
+ }, /* (UTC+14:00) Kiritimati Island */
+ {
+ "Lord Howe Standard Time", "Lord Howe Daylight Time",
+ "Australia/Lord_Howe"
+ }, /* (UTC+10:30) Lord Howe Island */
+ {
+ "Magadan Standard Time", "Magadan Daylight Time",
+ "Asia/Magadan"
+ }, /* (UTC+10:00) Magadan */
+ {
+ "Marquesas Standard Time", "Marquesas Daylight Time",
+ "Pacific/Marquesas"
+ }, /* (UTC-09:30) Marquesas Islands */
{
"Mauritius Standard Time", "Mauritius Daylight Time",
"Indian/Mauritius"
- }, /* (GMT+04:00) Port Louis */
+ }, /* (UTC+04:00) Port Louis */
{
"Mexico Standard Time", "Mexico Daylight Time",
"America/Mexico_City"
- }, /* (GMT-06:00) Guadalajara, Mexico City,
+ }, /* (UTC-06:00) Guadalajara, Mexico City,
* Monterrey */
{
"Mexico Standard Time 2", "Mexico Daylight Time 2",
"America/Chihuahua"
- }, /* (GMT-07:00) Chihuahua, La Paz, Mazatlan */
+ }, /* (UTC-07:00) Chihuahua, La Paz, Mazatlan */
{
"Mid-Atlantic Standard Time", "Mid-Atlantic Daylight Time",
"Atlantic/South_Georgia"
- }, /* (GMT-02:00) Mid-Atlantic */
+ }, /* (UTC-02:00) Mid-Atlantic - Old */
{
"Middle East Standard Time", "Middle East Daylight Time",
"Asia/Beirut"
- }, /* (GMT+02:00) Beirut */
+ }, /* (UTC+02:00) Beirut */
{
"Montevideo Standard Time", "Montevideo Daylight Time",
"America/Montevideo"
- }, /* (GMT-03:00) Montevideo */
+ }, /* (UTC-03:00) Montevideo */
{
"Morocco Standard Time", "Morocco Daylight Time",
"Africa/Casablanca"
- }, /* (GMT) Casablanca */
+ }, /* (UTC) Casablanca */
{
"Mountain Standard Time", "Mountain Daylight Time",
"US/Mountain"
- }, /* (GMT-07:00) Mountain Time (US & Canada) */
+ }, /* (UTC-07:00) Mountain Time (US & Canada) */
{
"Mountain Standard Time (Mexico)", "Mountain Daylight Time (Mexico)",
"America/Chihuahua"
- }, /* (GMT-07:00) Chihuahua, La Paz, Mazatlan -
- * New */
+ }, /* (UTC-07:00) Chihuahua, La Paz, Mazatlan */
{
"Myanmar Standard Time", "Myanmar Daylight Time",
"Asia/Rangoon"
- }, /* (GMT+06:30) Rangoon */
+ }, /* (UTC+06:30) Yangon (Rangoon) */
{
"N. Central Asia Standard Time", "N. Central Asia Daylight Time",
"Asia/Novosibirsk"
- }, /* (GMT+06:00) Novosibirsk */
+ }, /* (UTC+06:00) Novosibirsk (RTZ 5) */
{
"Namibia Standard Time", "Namibia Daylight Time",
"Africa/Windhoek"
- }, /* (GMT+02:00) Windhoek */
+ }, /* (UTC+01:00) Windhoek */
{
"Nepal Standard Time", "Nepal Daylight Time",
"Asia/Katmandu"
- }, /* (GMT+05:45) Kathmandu */
+ }, /* (UTC+05:45) Kathmandu */
{
"New Zealand Standard Time", "New Zealand Daylight Time",
"Pacific/Auckland"
- }, /* (GMT+12:00) Auckland, Wellington */
+ }, /* (UTC+12:00) Auckland, Wellington */
{
"Newfoundland Standard Time", "Newfoundland Daylight Time",
"Canada/Newfoundland"
- }, /* (GMT-03:30) Newfoundland */
+ }, /* (UTC-03:30) Newfoundland */
+ {
+ "Norfolk Standard Time", "Norfolk Daylight Time",
+ "Pacific/Norfolk"
+ }, /* (UTC+11:00) Norfolk Island */
{
"North Asia East Standard Time", "North Asia East Daylight Time",
"Asia/Irkutsk"
- }, /* (GMT+08:00) Irkutsk, Ulaan Bataar */
+ }, /* (UTC+08:00) Irkutsk, Ulaan Bataar */
{
"North Asia Standard Time", "North Asia Daylight Time",
"Asia/Krasnoyarsk"
- }, /* (GMT+07:00) Krasnoyarsk */
+ }, /* (UTC+07:00) Krasnoyarsk */
+ {
+ "North Korea Standard Time", "North Korea Daylight Time",
+ "Asia/Pyongyang"
+ }, /* (UTC+08:30) Pyongyang */
{
"Pacific SA Standard Time", "Pacific SA Daylight Time",
"America/Santiago"
- }, /* (GMT-04:00) Santiago */
+ }, /* (UTC-03:00) Santiago */
{
"Pacific Standard Time", "Pacific Daylight Time",
"US/Pacific"
- }, /* (GMT-08:00) Pacific Time (US & Canada);
- * Tijuana */
+ }, /* (UTC-08:00) Pacific Time (US & Canada) */
{
"Pacific Standard Time (Mexico)", "Pacific Daylight Time (Mexico)",
"America/Tijuana"
- }, /* (GMT-08:00) Tijuana, Baja California */
+ }, /* (UTC-08:00) Baja California */
{
"Pakistan Standard Time", "Pakistan Daylight Time",
"Asia/Karachi"
- }, /* (GMT+05:00) Islamabad, Karachi */
+ }, /* (UTC+05:00) Islamabad, Karachi */
{
"Paraguay Standard Time", "Paraguay Daylight Time",
"America/Asuncion"
- }, /* (GMT-04:00) Asuncion */
+ }, /* (UTC-04:00) Asuncion */
{
"Romance Standard Time", "Romance Daylight Time",
"Europe/Brussels"
- }, /* (GMT+01:00) Brussels, Copenhagen, Madrid,
+ }, /* (UTC+01:00) Brussels, Copenhagen, Madrid,
* Paris */
{
+ "Russia TZ 1 Standard Time", "Russia TZ 1 Daylight Time",
+ "Europe/Kaliningrad"
+ }, /* (UTC+02:00) Kaliningrad (RTZ 1) */
+ {
+ "Russia TZ 2 Standard Time", "Russia TZ 2 Daylight Time",
+ "Europe/Moscow"
+ }, /* (UTC+03:00) Moscow, St. Petersburg,
+ * Volgograd (RTZ 2) */
+ {
+ "Russia TZ 3 Standard Time", "Russia TZ 3 Daylight Time",
+ "Europe/Samara"
+ }, /* (UTC+04:00) Izhevsk, Samara (RTZ 3) */
+ {
+ "Russia TZ 4 Standard Time", "Russia TZ 4 Daylight Time",
+ "Asia/Yekaterinburg"
+ }, /* (UTC+05:00) Ekaterinburg (RTZ 4) */
+ {
+ "Russia TZ 5 Standard Time", "Russia TZ 5 Daylight Time",
+ "Asia/Novosibirsk"
+ }, /* (UTC+06:00) Novosibirsk (RTZ 5) */
+ {
+ "Russia TZ 6 Standard Time", "Russia TZ 6 Daylight Time",
+ "Asia/Krasnoyarsk"
+ }, /* (UTC+07:00) Krasnoyarsk (RTZ 6) */
+ {
+ "Russia TZ 7 Standard Time", "Russia TZ 7 Daylight Time",
+ "Asia/Irkutsk"
+ }, /* (UTC+08:00) Irkutsk (RTZ 7) */
+ {
+ "Russia TZ 8 Standard Time", "Russia TZ 8 Daylight Time",
+ "Asia/Yakutsk"
+ }, /* (UTC+09:00) Yakutsk (RTZ 8) */
+ {
+ "Russia TZ 9 Standard Time", "Russia TZ 9 Daylight Time",
+ "Asia/Vladivostok"
+ }, /* (UTC+10:00) Vladivostok, Magadan
+ * (RTZ 9) */
+ {
+ "Russia TZ 10 Standard Time", "Russia TZ 10 Daylight Time",
+ "Asia/Magadan"
+ }, /* (UTC+11:00) Chokurdakh (RTZ 10) */
+ {
+ "Russia TZ 11 Standard Time", "Russia TZ 11 Daylight Time",
+ "Asia/Anadyr"
+ }, /* (UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky
+ * (RTZ 11) */
+ {
"Russian Standard Time", "Russian Daylight Time",
"Europe/Moscow"
- }, /* (GMT+03:00) Moscow, St. Petersburg,
+ }, /* (UTC+03:00) Moscow, St. Petersburg,
* Volgograd */
{
"SA Eastern Standard Time", "SA Eastern Daylight Time",
"America/Buenos_Aires"
- }, /* (GMT-03:00) Buenos Aires, Georgetown */
+ }, /* (UTC-03:00) Cayenne, Fortaleza */
{
"SA Pacific Standard Time", "SA Pacific Daylight Time",
"America/Bogota"
- }, /* (GMT-05:00) Bogota, Lima, Quito */
+ }, /* (UTC-05:00) Bogota, Lima, Quito, Rio
+ * Branco */
{
"SA Western Standard Time", "SA Western Daylight Time",
"America/Caracas"
- }, /* (GMT-04:00) Caracas, La Paz */
+ }, /* (UTC-04:00) Georgetown, La Paz, Manaus,
+ * San Juan */
+ {
+ "Saint Pierre Standard Time", "Saint Pierre Daylight Time",
+ "America/Miquelon"
+ }, /* (UTC-03:00) Saint Pierre and Miquelon */
{
"Samoa Standard Time", "Samoa Daylight Time",
- "Pacific/Midway"
- }, /* (GMT-11:00) Midway Island, Samoa */
+ "Pacific/Samoa"
+ }, /* (UTC+13:00) Samoa */
{
"SE Asia Standard Time", "SE Asia Daylight Time",
"Asia/Bangkok"
- }, /* (GMT+07:00) Bangkok, Hanoi, Jakarta */
+ }, /* (UTC+07:00) Bangkok, Hanoi, Jakarta */
{
"Malay Peninsula Standard Time", "Malay Peninsula Daylight Time",
"Asia/Kuala_Lumpur"
- }, /* (GMT+08:00) Kuala Lumpur, Singapore */
+ }, /* (UTC+08:00) Kuala Lumpur, Singapore */
+ {
+ "Sakhalin Standard Time", "Sakhalin Daylight Time",
+ "Asia/Sakhalin"
+ }, /* (UTC+11:00) Sakhalin */
{
"South Africa Standard Time", "South Africa Daylight Time",
"Africa/Harare"
- }, /* (GMT+02:00) Harare, Pretoria */
+ }, /* (UTC+02:00) Harare, Pretoria */
{
"Sri Lanka Standard Time", "Sri Lanka Daylight Time",
"Asia/Colombo"
- }, /* (GMT+06:00) Sri Jayawardenepura */
+ }, /* (UTC+05:30) Sri Jayawardenepura */
+ {
+ "Syria Standard Time", "Syria Daylight Time",
+ "Asia/Damascus"
+ }, /* (UTC+02:00) Damascus */
{
"Taipei Standard Time", "Taipei Daylight Time",
"Asia/Taipei"
- }, /* (GMT+08:00) Taipei */
+ }, /* (UTC+08:00) Taipei */
{
"Tasmania Standard Time", "Tasmania Daylight Time",
"Australia/Hobart"
- }, /* (GMT+10:00) Hobart */
+ }, /* (UTC+10:00) Hobart */
+ {
+ "Tocantins Standard Time", "Tocantins Daylight Time",
+ "America/Araguaina"
+ }, /* (UTC-03:00) Araguaina */
{
"Tokyo Standard Time", "Tokyo Daylight Time",
"Asia/Tokyo"
- }, /* (GMT+09:00) Osaka, Sapporo, Tokyo */
+ }, /* (UTC+09:00) Osaka, Sapporo, Tokyo */
{
"Tonga Standard Time", "Tonga Daylight Time",
"Pacific/Tongatapu"
- }, /* (GMT+13:00) Nuku'alofa */
+ }, /* (UTC+13:00) Nuku'alofa */
+ {
+ "Tomsk Standard Time", "Tomsk Daylight Time",
+ "Asia/Tomsk"
+ }, /* (UTC+07:00) Tomsk */
+ {
+ "Transbaikal Standard Time", "Transbaikal Daylight Time",
+ "Asia/Chita"
+ }, /* (UTC+09:00) Chita */
+ {
+ "Turkey Standard Time", "Turkey Daylight Time",
+ "Europe/Istanbul"
+ }, /* (UTC+02:00) Istanbul */
+ {
+ "Turks and Caicos Standard Time", "Turks and Caicos Daylight Time",
+ "America/Grand_Turk"
+ }, /* (UTC-04:00) Turks and Caicos */
{
"Ulaanbaatar Standard Time", "Ulaanbaatar Daylight Time",
"Asia/Ulaanbaatar",
- }, /* (GMT+08:00) Ulaanbaatar */
+ }, /* (UTC+08:00) Ulaanbaatar */
{
"US Eastern Standard Time", "US Eastern Daylight Time",
"US/Eastern"
- }, /* (GMT-05:00) Indiana (East) */
+ }, /* (UTC-05:00) Indiana (East) */
{
"US Mountain Standard Time", "US Mountain Daylight Time",
"US/Arizona"
- }, /* (GMT-07:00) Arizona */
+ }, /* (UTC-07:00) Arizona */
{
"Coordinated Universal Time", "Coordinated Universal Time",
"UTC"
- }, /* (GMT) Coordinated Universal Time */
+ }, /* (UTC) Coordinated Universal Time */
{
"UTC+12", "UTC+12",
"Etc/GMT+12"
- }, /* (GMT+12:00) Coordinated Universal Time+12 */
+ }, /* (UTC+12:00) Coordinated Universal Time+12 */
{
"UTC-02", "UTC-02",
"Etc/GMT-02"
- }, /* (GMT-02:00) Coordinated Universal Time-02 */
+ }, /* (UTC-02:00) Coordinated Universal Time-02 */
+ {
+ "UTC-08", "UTC-08",
+ "Etc/GMT-08"
+ }, /* (UTC-08:00) Coordinated Universal Time-08 */
+ {
+ "UTC-09", "UTC-09",
+ "Etc/GMT-09"
+ }, /* (UTC-09:00) Coordinated Universal Time-09 */
{
"UTC-11", "UTC-11",
"Etc/GMT-11"
- }, /* (GMT-11:00) Coordinated Universal Time-11 */
+ }, /* (UTC-11:00) Coordinated Universal Time-11 */
{
"Venezuela Standard Time", "Venezuela Daylight Time",
"America/Caracas",
- }, /* (GMT-04:30) Caracas */
+ }, /* (UTC-04:30) Caracas */
{
"Vladivostok Standard Time", "Vladivostok Daylight Time",
"Asia/Vladivostok"
- }, /* (GMT+10:00) Vladivostok */
+ }, /* (UTC+10:00) Vladivostok (RTZ 9) */
{
"W. Australia Standard Time", "W. Australia Daylight Time",
"Australia/Perth"
- }, /* (GMT+08:00) Perth */
+ }, /* (UTC+08:00) Perth */
#ifdef NOT_USED
/* Could not find a match for this one (just a guess). Excluded for now. */
{
"W. Central Africa Standard Time", "W. Central Africa Daylight Time",
"WAT"
- }, /* (GMT+01:00) West Central Africa */
+ }, /* (UTC+01:00) West Central Africa */
#endif
{
"W. Europe Standard Time", "W. Europe Daylight Time",
"CET"
- }, /* (GMT+01:00) Amsterdam, Berlin, Bern, Rome,
+ }, /* (UTC+01:00) Amsterdam, Berlin, Bern, Rome,
* Stockholm, Vienna */
{
+ "W. Mongolia Standard Time", "W. Mongolia Daylight Time",
+ "Asia/Hovd"
+ }, /* (UTC+07:00) Hovd */
+ {
"West Asia Standard Time", "West Asia Daylight Time",
"Asia/Karachi"
- }, /* (GMT+05:00) Islamabad, Karachi, Tashkent */
+ }, /* (UTC+05:00) Ashgabat, Tashkent */
+ {
+ "West Bank Gaza Standard Time", "West Bank Gaza Daylight Time",
+ "Asia/Gaza"
+ }, /* (UTC+02:00) Gaza, Hebron */
{
"West Pacific Standard Time", "West Pacific Daylight Time",
"Pacific/Guam"
- }, /* (GMT+10:00) Guam, Port Moresby */
+ }, /* (UTC+10:00) Guam, Port Moresby */
{
"Yakutsk Standard Time", "Yakutsk Daylight Time",
"Asia/Yakutsk"
- }, /* (GMT+09:00) Yakutsk */
+ }, /* (UTC+09:00) Yakutsk */
{
NULL, NULL, NULL
}
On Thu, Aug 18, 2016 at 7:06 AM, Michael Paquier <michael.paquier@gmail.com>
wrote:
On Tue, Aug 16, 2016 at 6:22 PM, Magnus Hagander <magnus@hagander.net>
wrote:I think what we want is basically the UNION ALL of all the different
active
versions. If we just use the definitions from Win10, we will map
incorrectly
on Win7. As long as they are not *conflicting*, we should just add them
all.
I see, so that's why the script does not do any suggestions to remove any
data.
Yup.
The UTC->GMT switch is mostly just annoying as it only hits the comments,
right? I think we just accept that change and do a once-over patch that
changes all those things.OK, so after re-running that on my Win10 station and a newly updated
Win7 station I am finishing with the attached that combines all the
changes.
Thanks, pushed for master and 9.6.
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
On Thu, Aug 18, 2016 at 7:38 PM, Magnus Hagander <magnus@hagander.net> wrote:
Thanks, pushed for master and 9.6.
Cool. Thanks for the commit.
--
Michael
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Magnus Hagander <magnus@hagander.net> writes:
On Thu, Aug 18, 2016 at 7:06 AM, Michael Paquier <michael.paquier@gmail.com>
wrote:OK, so after re-running that on my Win10 station and a newly updated
Win7 station I am finishing with the attached that combines all the
changes.
Thanks, pushed for master and 9.6.
My thought was to push it in all branches --- that's what we do for
other timezone data updates.
regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On Thu, Aug 18, 2016 at 3:26 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Magnus Hagander <magnus@hagander.net> writes:
On Thu, Aug 18, 2016 at 7:06 AM, Michael Paquier <
michael.paquier@gmail.com>
wrote:
OK, so after re-running that on my Win10 station and a newly updated
Win7 station I am finishing with the attached that combines all the
changes.Thanks, pushed for master and 9.6.
My thought was to push it in all branches --- that's what we do for
other timezone data updates.
Your initial comment was:
If we got this done in the next couple weeks, any resulting changes
could go out in 9.6rc1. Given that we've not done this routinely,
that seems like a better plan than having them first hit the field
in minor releases of stable branches.
I read that as we want it out in RC1 and make sure that works before we
backpatch it to earlier branches.
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
Magnus Hagander <magnus@hagander.net> writes:
On Thu, Aug 18, 2016 at 3:26 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
If we got this done in the next couple weeks, any resulting changes
could go out in 9.6rc1. Given that we've not done this routinely,
that seems like a better plan than having them first hit the field
in minor releases of stable branches.
I read that as we want it out in RC1 and make sure that works before we
backpatch it to earlier branches.
I think we might as well back-patch now so we don't forget to do so.
rc1 will give us a chance to discover any problems, but if there are
any, we'd back-patch those fixes too.
regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On Thu, Aug 18, 2016 at 3:30 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Magnus Hagander <magnus@hagander.net> writes:
On Thu, Aug 18, 2016 at 3:26 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
If we got this done in the next couple weeks, any resulting changes
could go out in 9.6rc1. Given that we've not done this routinely,
that seems like a better plan than having them first hit the field
in minor releases of stable branches.I read that as we want it out in RC1 and make sure that works before we
backpatch it to earlier branches.I think we might as well back-patch now so we don't forget to do so.
rc1 will give us a chance to discover any problems, but if there are
any, we'd back-patch those fixes too.
OK, fair enough if you think so. I'll go ahead and do that right away.
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
On Thu, Aug 18, 2016 at 3:34 PM, Magnus Hagander <magnus@hagander.net>
wrote:
On Thu, Aug 18, 2016 at 3:30 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Magnus Hagander <magnus@hagander.net> writes:
On Thu, Aug 18, 2016 at 3:26 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
If we got this done in the next couple weeks, any resulting changes
could go out in 9.6rc1. Given that we've not done this routinely,
that seems like a better plan than having them first hit the field
in minor releases of stable branches.I read that as we want it out in RC1 and make sure that works before we
backpatch it to earlier branches.I think we might as well back-patch now so we don't forget to do so.
rc1 will give us a chance to discover any problems, but if there are
any, we'd back-patch those fixes too.OK, fair enough if you think so. I'll go ahead and do that right away.
Done. I skipped 9.1 given it's status and that the backpatch didn't apply
cleanly there (we moved code around).
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
Magnus Hagander <magnus@hagander.net> writes:
Done. I skipped 9.1 given it's status and that the backpatch didn't apply
cleanly there (we moved code around).
I think the same code exists in a different file in 9.1, but I concur
that it's probably not worth a lot of effort.
regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers