Re: NOW() function in combination with SET timezone

From: hubert depesz lubaczewski <depesz(at)depesz(dot)com>
To: Jonas Gassenmeyer <gassenmj(at)gmail(dot)com>
Cc: pgsql-novice(at)lists(dot)postgresql(dot)org
Subject: Re: NOW() function in combination with SET timezone
Date: 2021-06-04 10:35:57
Message-ID: 20210604103557.GA31655@depesz.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

On Fri, Jun 04, 2021 at 09:53:20AM +0200, Jonas Gassenmeyer wrote:
> - Let's assume my client has set the timezone to Tokyo and the server is
> using UTC.
> - Even if calling NOW() and the display in my client is Tokyo time, once
> I send data to the server my timestamp would get converted to the timezone
> of the server.

Assuming you're talking about timestamptz - value on disk is in UTC.

> - For further comparison with any time stamp columns in a table it would
> use the converted timestamp (UTC timezone of the database server).
> - It would not make a difference if I compare NOW() to a column of type
> timestamp instead of timestampTZ (assuming that I know what timezone was
> used to insert into the column)

If you ensured that you always make conversion to utc, and store utc,
then yes. But then - you will be on your own with calculations of things
like daylight savings time.

timestamptz doesn't store time zone information, but makes sure that
when you enter data it is converted to common TZ, and then does
conversion to user timezone (which can be based on server timezone) on
select.

depesz

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2021-06-04 14:04:40 Re: NOW() function in combination with SET timezone
Previous Message Jonas Gassenmeyer 2021-06-04 07:53:20 NOW() function in combination with SET timezone