Re: BUG #16571: "time with time zone" type can input '00:00:00+1559'::time with time zone

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: mailtch@163.com
Cc: pgsql-bugs@lists.postgresql.org
Date: 2020-08-03T14:18:00Z
Lists: pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> In Document(https://www.postgresql.org/docs/current/datatype-datetime.html),
> "time with time zone" range is:  00:00:00+1459 to 24:00:00-1459
> but you can input:
> osdba=# select '00:00:00+1559'::time with time zone;
>      timetz
> ----------------
>  00:00:00+15:59
> (1 row)

Hmm, the code is quite clear about it:

/*
 * We allow numeric timezone offsets up to 15:59:59 either way from Greenwich.
 * Currently, the record holders for wackiest offsets in actual use are zones
 * Asia/Manila, at -15:56:00 until 1844, and America/Metlakatla, at +15:13:42
 * until 1867.  If we were to reject such values we would fail to dump and
 * restore old timestamptz values with these zone settings.
 */
#define MAX_TZDISP_HOUR		15	/* maximum allowed hour part */

Apparently this documentation reference got overlooked the last time
we changed that :-(.  Will fix, thanks for the report!

			regards, tom lane



Commits

  1. Doc: fix obsolete info about allowed range of TZ offsets in timetz.