-<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.190 2007/02/01 00:28:16 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.191 2007/03/14 17:38:05 tgl Exp $ -->
<chapter id="datatype">
<title id="datatype-title">Data Types</title>
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.
+ 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>
</listitem>
</itemizedlist>
rule and so have two possible UTC offsets.
</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>
+
<para>
In all cases, timezone names are recognized case-insensitively.
(This is a change from <productname>PostgreSQL</productname> versions
# Makefile for the timezone library
# IDENTIFICATION
-# $PostgreSQL: pgsql/src/timezone/Makefile,v 1.25 2007/02/09 15:56:00 petere Exp $
+# $PostgreSQL: pgsql/src/timezone/Makefile,v 1.26 2007/03/14 17:38:06 tgl Exp $
#
#-------------------------------------------------------------------------
pacificnew etcetera factory backward systemv solar87 solar88 solar89
TZDATAFILES = $(TZDATA:%=$(srcdir)/data/%)
+# which zone should determine the DST rules (not the specific UTC offset!)
+# for POSIX-style timezone specs
+POSIXRULES = US/Eastern
+
all: SUBSYS.o submake-libpgport zic
SUBSYS.o: $(OBJS)
$(CC) $(CFLAGS) $(ZICOBJS) $(LDFLAGS) $(LIBS) -o $@$(X)
install: all installdirs
- ./zic -d '$(DESTDIR)$(datadir)/timezone' $(TZDATAFILES)
+ ./zic -d '$(DESTDIR)$(datadir)/timezone' -p '$(POSIXRULES)' $(TZDATAFILES)
$(MAKE) -C tznames $@
installdirs: