postgresql/src/timezone
Tom Lane ca4af308c3 Simplify handling of the timezone GUC by making initdb choose the default.
We were doing some amazingly complicated things in order to avoid running
the very expensive identify_system_timezone() procedure during GUC
initialization.  But there is an obvious fix for that, which is to do it
once during initdb and have initdb install the system-specific default into
postgresql.conf, as it already does for most other GUC variables that need
system-environment-dependent defaults.  This means that the timezone (and
log_timezone) settings no longer have any magic behavior in the server.
Per discussion.
2011-09-09 17:59:11 -04:00
..
data Update time zone data files to tzdata release 2011i. 2011-09-05 14:46:31 -04:00
tznames Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
Makefile Improved parallel make support 2010-11-12 22:15:16 +02:00
README Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
ialloc.c Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
localtime.c Simplify handling of the timezone GUC by making initdb choose the default. 2011-09-09 17:59:11 -04:00
pgtz.c Simplify handling of the timezone GUC by making initdb choose the default. 2011-09-09 17:59:11 -04:00
pgtz.h Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
private.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02: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 comparisons of pointers with zero to compare with NULL instead. 2010-10-29 15:51:52 -04:00

README

src/timezone/README

Timezone
========

This is a PostgreSQL adapted version of the timezone library from:

	ftp://elsie.nci.nih.gov/pub/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://elsie.nci.nih.gov/pub/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.

At each update, we should check if time zone offsets have changed.
Just search for the current or previous year and see what has changed.
Sometimes a country changes its time zone offsets, for example Georgia
in 2004.  Just grepping in the zic database files for 2004 is enough to
spot such a change.  Then the files under tznames/ should be updated.

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.