Browse Source

[5.0.x] Fixed #35267 -- Clarified time zone topic for PostgreSQL in docs.

The timezone documentation for Postgres mentions the behavior of
time zone conversion, but links to the wrong setting that controls the
behavior.

Postgres will not return datetimes in the time zone set by the
TIME_ZONE setting, but rather the time zone of the database connection,
which is defined by DATABASES.TIME_ZONE setting falling back to UTC.

This corrects the link in the documentation and adds note that there
are two distinct TIME_ZONE settings and the one most are familiar with
is not considered for PostgreSQL time zone conversion.

Backport of 6e195b800aed7d6a0d2a4c073d8f3507f6beb126 from main
Josh Smeaton 1 year ago
parent
commit
e45ee72d69
1 changed files with 9 additions and 3 deletions
  1. 9 3
      docs/topics/i18n/timezones.txt

+ 9 - 3
docs/topics/i18n/timezones.txt

@@ -393,9 +393,15 @@ UTC on storage, and from UTC to the connection's time zone on retrieval.
 
 As a consequence, if you're using PostgreSQL, you can switch between ``USE_TZ
 = False`` and ``USE_TZ = True`` freely. The database connection's time zone
-will be set to :setting:`TIME_ZONE` or ``UTC`` respectively, so that Django
-obtains correct datetimes in all cases. You don't need to perform any data
-conversions.
+will be set to :setting:`DATABASE-TIME_ZONE` or ``UTC`` respectively, so that
+Django obtains correct datetimes in all cases. You don't need to perform any
+data conversions.
+
+.. admonition:: Time zone settings
+
+    The :setting:`time zone <DATABASE-TIME_ZONE>` configured for the connection
+    in the :setting:`DATABASES` setting is distinct from the general
+    :setting:`TIME_ZONE` setting.
 
 Other databases
 ~~~~~~~~~~~~~~~