aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2025-02-07 12:40:41 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2025-02-07 12:40:41 -0500
commitbbf1ef72c22f1f3db778db0aaab8a1daa82d81f8 (patch)
treeaf9f990bd0112209cdef44f570ef262ba6b72817
parent60516fc8b491f941988b6f4a3a55167b98a9351b (diff)
downloadpostgresql-bbf1ef72c22f1f3db778db0aaab8a1daa82d81f8.tar.gz
postgresql-bbf1ef72c22f1f3db778db0aaab8a1daa82d81f8.zip
Doc: clarify behavior of timestamptz input some more.
Try to make it absolutely plain that we don't retain the originally specified time zone, only the UTC timestamp. While at it, make glossary entries for "UTC" and "GMT". Author: Robert Treat <rob@xzilla.net> Co-authored-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/173796426022.1064.9135167366862649513@wrigleys.postgresql.org Backpatch-through: 13
-rw-r--r--doc/src/sgml/datatype.sgml17
-rw-r--r--doc/src/sgml/glossary.sgml16
2 files changed, 26 insertions, 7 deletions
diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml
index 40c115a3cc3..d621437c414 100644
--- a/doc/src/sgml/datatype.sgml
+++ b/doc/src/sgml/datatype.sgml
@@ -2245,24 +2245,27 @@ TIMESTAMP '2004-10-19 10:23:54+02'
<programlisting>
TIMESTAMP WITH TIME ZONE '2004-10-19 10:23:54+02'
</programlisting>
+ </para>
- In a literal that has been determined to be <type>timestamp without time
+ <para>
+ In a value that has been determined to be <type>timestamp without time
zone</type>, <productname>PostgreSQL</productname> will silently ignore
any time zone indication.
That is, the resulting value is derived from the date/time
- fields in the input value, and is not adjusted for time zone.
+ fields in the input string, and is not adjusted for time zone.
</para>
<para>
- For <type>timestamp with time zone</type>, the internally stored
- value is always in UTC (Universal
- Coordinated Time, traditionally known as Greenwich Mean Time,
- <acronym>GMT</acronym>). An input value that has an explicit
- time zone specified is converted to UTC using the appropriate offset
+ For <type>timestamp with time zone</type> values, an input string
+ that includes an explicit time zone will be converted to UTC
+ (<glossterm linkend="glossary-utc">Universal Coordinated
+ Time</glossterm>) using the appropriate offset
for that time zone. If no time zone is stated in the input string,
then it is assumed to be in the time zone indicated by the system's
<xref linkend="guc-timezone"/> parameter, and is converted to UTC using the
offset for the <varname>timezone</varname> zone.
+ In either case, the value is stored internally as UTC, and the
+ originally stated or assumed time zone is not retained.
</para>
<para>
diff --git a/doc/src/sgml/glossary.sgml b/doc/src/sgml/glossary.sgml
index f947eccd006..a0f0608c6ac 100644
--- a/doc/src/sgml/glossary.sgml
+++ b/doc/src/sgml/glossary.sgml
@@ -834,6 +834,11 @@
</glossdef>
</glossentry>
+ <glossentry>
+ <glossterm>GMT</glossterm>
+ <glosssee otherterm="glossary-utc" />
+ </glossentry>
+
<glossentry id="glossary-grant">
<glossterm>Grant</glossterm>
<glossdef>
@@ -1998,6 +2003,17 @@
</glossdef>
</glossentry>
+ <glossentry id="glossary-utc">
+ <glossterm>UTC</glossterm>
+ <glossdef>
+ <para>
+ Universal Coordinated Time, the primary global time reference,
+ approximately the time prevailing at the zero meridian of longitude.
+ Often but inaccurately referred to as GMT (Greenwich Mean Time).
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id="glossary-vacuum">
<glossterm>Vacuum</glossterm>
<glossdef>