| The PostgreSQL 9.0 Reference Manual - Volume 1A - SQL Language Reference
by The PostgreSQL Global Development Group Paperback (6"x9"), 454 pages ISBN 9781906966041 RRP £14.95 ($19.95) Sales of this book support the PostgreSQL project! Get a printed copy>>> |
12.8 Date/Time Configuration Files
Since timezone abbreviations are not well standardized,
PostgreSQL provides a means to customize
the set of abbreviations accepted by the server. The
timezone_abbreviations run-time parameter
determines the active set of abbreviations. While this parameter
can be altered by any database user, the possible values for it
are under the control of the database administrator--they
are in fact names of configuration files stored in
‘.../share/timezonesets/’ of the installation directory.
By adding or altering files in that directory, the administrator
can set local policy for timezone abbreviations.
timezone_abbreviations can be set to any file name
found in ‘.../share/timezonesets/’, if the file's name
is entirely alphabetic. (The prohibition against non-alphabetic
characters in timezone_abbreviations prevents reading
files outside the intended directory, as well as reading editor
backup files and other extraneous files.)
A timezone abbreviation file can contain blank lines and comments
beginning with #. Non-comment lines must have one of
these formats:
time_zone_name offset time_zone_name offset D @INCLUDE file_name @OVERRIDE
A time_zone_name is just the abbreviation
being defined. The offset is the zone's
offset in seconds from UTC, positive being east from Greenwich and
negative being west. For example, -18000 would be five hours west
of Greenwich, or North American east coast standard time. D
indicates that the zone name represents local daylight-savings time
rather than standard time. Since all known time zone offsets are on
15 minute boundaries, the number of seconds has to be a multiple of 900.
The @INCLUDE syntax allows inclusion of another file in the
‘.../share/timezonesets/’ directory. Inclusion can be nested,
to a limited depth.
The @OVERRIDE syntax indicates that subsequent entries in the
file can override previous entries (i.e., entries obtained from included
files). Without this, conflicting definitions of the same timezone
abbreviation are considered an error.
In an unmodified installation, the file ‘Default’ contains
all the non-conflicting time zone abbreviations for most of the world.
Additional files ‘Australia’ and ‘India’ are
provided for those regions: these files first include the
Default file and then add or modify timezones as needed.
For reference purposes, a standard installation also contains files
‘Africa.txt’, ‘America.txt’, etc, containing
information about every time zone abbreviation known to be in use
according to the zoneinfo timezone database. The zone name
definitions found in these files can be copied and pasted into a custom
configuration file as needed. Note that these files cannot be directly
referenced as timezone_abbreviations settings, because of
the dot embedded in their names.
Note: If an error occurs while reading the time zone data sets, no new value is applied but the old set is kept. If the error occurs while starting the database, startup fails.
Caution: Time zone abbreviations defined in the configuration file override non-timezone meanings built into PostgreSQL. For example, the ‘Australia’ configuration file defines
SAT(for South Australian Standard Time). When this file is active,SATwill not be recognized as an abbreviation for Saturday.
Caution: If you modify files in ‘.../share/timezonesets/’, it is up to you to make backups--a normal database dump will not include this directory.
| ISBN 9781906966041 | The PostgreSQL 9.0 Reference Manual - Volume 1A - SQL Language Reference | See the print edition |