@ -1,5 +1,5 @@
<!--
$PostgreSQL: pgsql/doc/src/sgml/datetime.sgml,v 2.47 2005/09/09 02:31:48 tgl Exp $
$PostgreSQL: pgsql/doc/src/sgml/datetime.sgml,v 2.47.2.1 2007/03/14 17:38:21 tgl Exp $
-->
<appendix id="datetime-appendix">
@ -2230,24 +2230,33 @@ $PostgreSQL: pgsql/doc/src/sgml/datetime.sgml,v 2.47 2005/09/09 02:31:48 tgl Exp
<para>
In addition to the names listed in the table,
<productname>PostgreSQL</productname> will accept time zone names of th e
form <replaceable>STD</><replaceable>offset</> or
<productname>PostgreSQL</productname> will accept POSIX-style time zone
specifications of the form <replaceable>STD</><replaceable>offset</> or
<replaceable>STD</><replaceable>offset</><replaceable>DST</>, where
<replaceable>STD</> is a zone abbreviation, <replaceable>offset</> is a
numeric offset in hours west from UTC, and <replaceable>DST</> is an
optional daylight-savings zone abbreviation, assumed to stand for one hour
ahead of the given offset. For example, if <literal>EST5EDT</> were not
already a recognized zone name, it would be accepted and would be
functionally equivalent to USA East Coast time. When a daylight-savings
zone name is present, it is assumed to be used according to USA time zone
rules, so this feature is of limited use outside North America.
One should also be wary that this provision can lead to
silently accepting bogus input, since there is no check on the
reasonableness of the zone abbreviations. For example,
<literal>SET TIMEZONE TO FOOBAR0</> will work, leaving the system
effectively using a rather peculiar abbreviation for GMT.
optional daylight-savings zone abbreviation, assumed to stand for one
hour ahead of the given offset. For example, if <literal>EST5EDT</>
were not already a recognized zone name, it would be accepted and would
be functionally equivalent to USA East Coast time. When a
daylight-savings zone name is present, it is assumed to be used
according to the same daylight-savings transition rules used in the
<literal>zic</> time zone database's <filename>posixrules</> entry.
In a standard <productname>PostgreSQL</productname> installation,
<filename>posixrules</> is the same as <literal>US/Eastern</>, so
that POSIX-style time zone specifications follow USA daylight-savings
rules. If needed, you can adjust this behavior by replacing the
<filename>posixrules</> file.
</para>
<para>
One should be wary that the POSIX-style time zone feature can
lead to silently accepting bogus input, since there is no check on the
reasonableness of the zone abbreviations. For example, <literal>SET
TIMEZONE TO FOOBAR0</> will work, leaving the system effectively using
a rather peculiar abbreviation for UTC.
</para>
</sect1>
<sect1 id="datetime-units-history">