From: | Joe Abbate <jma(at)freedomcircle(dot)com> |
---|---|
To: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Binary encoding of TIMESTAMP WITH TIME ZONE |
Date: | 2020-06-05 00:24:50 |
Message-ID: | ae9774ef-ad25-a0bc-6f4b-208ba1880b3a@freedomcircle.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I'm dealing with an issue where a query uses 'today'::date to select one
of a number of rows depending on the day modulo the number of rows. The
intent is that different information will be shown starting after
midnight local time. The query runs as expected in psql and using psycopg2.
However, when using the same query using the Rust adapter the transition
to a new row started showing up after midgnight GMT. I opened an issue
on Github (https://github.com/sfackler/rust-postgres/issues/608 ) and
the maintainer claimed the Rust adapter *had* to initialize timezone to
UTC in order to properly convert "to and from time datatypes". I
pointed out that the timezone offset is available in psql and psycopg2,
but then he replied the binary encoding of timestamptz does *not*
include the timezone offset.
He pointed me to the function timestamptz_send() which per the comments
"converts timestamptz to binary format". I found that the TimestampTz
used in the function is a typedef for an int64, but since I'm not
familiar with the code, I can't tell if timezone offset is embedded in
there or not.
I'm hoping someone reading this can confirm (or deny) the above (or do I
need to ask the -hackers list?).
Regards,
Joe
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2020-06-05 00:32:51 | Re: Binary encoding of TIMESTAMP WITH TIME ZONE |
Previous Message | Adrian Klaver | 2020-06-04 22:26:07 | Re: Move configuration files with pg_upgrade |