postgresql/src/timezone
Tom Lane 9701f238bc Update time zone abbreviations lists.
This updates known_abbrevs.txt to be what it should have been already,
were my -P patch not broken; and updates some tznames/ entries that
missed getting any love in previous timezone data updates because zic
failed to flag the change of abbreviation.

The non-cosmetic updates:

* Remove references to "ADT" as "Arabia Daylight Time", an abbreviation
that's been out of use since 2007; therefore, claiming there is a conflict
with "Atlantic Daylight Time" doesn't seem especially helpful.  (We have
left obsolete entries in the files when they didn't conflict with anything,
but that seems like a different situation.)

* Fix entirely incorrect GMT offsets for CKT (Cook Islands), FJT, FJST
(Fiji); we didn't even have them on the proper side of the date line.
(Seems to have been aboriginal errors in our tznames data; there's no
evidence anything actually changed recently.)

* FKST (Falkland Islands Summer Time) is now used all year round, so
don't mark it as a DST abbreviation.

* Update SAKT (Sakhalin) to mean GMT+11 not GMT+10.

In cosmetic changes, I fixed a bunch of wrong (or at least obsolete)
claims about abbreviations not being present in the zic files, and
tried to be consistent about how obsolete abbreviations are labeled.

Note the underlying timezone/data files are still at release 2014e;
this is just trying to get us in sync with what those files actually
say before we go to the next update.
2014-10-03 17:44:56 -04:00
..
data Update time zone data files to tzdata release 2014e. 2014-07-19 15:01:12 -04:00
tznames Update time zone abbreviations lists. 2014-10-03 17:44:56 -04:00
.gitignore Semi-automatically detect changes in timezone abbreviations. 2013-03-23 19:17:44 -04:00
ialloc.c Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
known_abbrevs.txt Update time zone abbreviations lists. 2014-10-03 17:44:56 -04:00
localtime.c Remove tabs after spaces in C comments 2014-05-06 11:26:28 -04:00
Makefile Ooops, forgot to remove solar87 and friends from src/timezone/Makefile. 2014-02-14 23:20:17 -05:00
pgtz.c Reject out-of-range numeric timezone specifications. 2014-07-21 22:41:27 -04:00
pgtz.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
private.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
README Semi-automatically detect changes in timezone abbreviations. 2013-03-23 19:17:44 -04:00
scheck.c Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
strftime.c Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
tzfile.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
zic.c Fix bogus logic for zic -P option. 2014-10-03 14:48:32 -04:00

src/timezone/README

Timezone
========

This is a PostgreSQL adapted version of the timezone library from
http://www.iana.org/time-zones

The source code can be found at:

	ftp://ftp.iana.org/tz/releases/tzcode*.tar.gz

The code is currently synced with release 2010c.  There are many cosmetic
(and not so cosmetic) differences from the original tzcode library, but
diffs in the upstream version should usually be propagated to our version.

The data files under data/ are an exact copy of the latest data set from:

	ftp://ftp.iana.org/tz/releases/tzdata*.tar.gz

Since time zone rules change frequently in some parts of the world,
we should endeavor to update the data files before each PostgreSQL
release.

While the files under data/ can just be duplicated when updating, manual
effort is needed to update the time zone abbreviation lists under tznames/.
These need to be changed whenever new abbreviations are invented or the
UTC offset associated with an existing abbreviation changes.  To detect
if this has happened, after installing new files under data/ do
	gmake abbrevs.txt
which will produce a file showing all abbreviations that are in current
use according to the data/ files.  Compare this to known_abbrevs.txt,
which is the list that existed last time the tznames/ files were updated.
Update tznames/ as seems appropriate, then replace known_abbrevs.txt
in the same commit.

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.