Re: Retrieve the server's time zone - Mailing list pgsql-jdbc

From Dave Cramer
Subject Re: Retrieve the server's time zone
Date
Msg-id CADK3HHJeLgaWisV=T29stN05uq7R6vXA5Xnngk8V7vBLGgd+gA@mail.gmail.com
Whole thread Raw
In response to Retrieve the server's time zone  (Thomas Kellerer <spam_eater@gmx.net>)
Responses RE: Retrieve the server's time zone
List pgsql-jdbc
It is in the session startup messages. I'm trying to recall the technical details as to why. My recollection is that for timestamps without timezone will be reported in the client timezone.

Do you want the server timezone or postgres timezone. A simple C function should provide the latter.


On 21 November 2017 at 02:01, Thomas Kellerer <spam_eater@gmx.net> wrote:
Hello,

it seems the JDBC driver (or Java?) makes it impossible to retrieve the server's time zone.

Apparently the driver changes the timezone setting so that it can't be reset to the original from the server.

When I run "show timezone" from within JDBC I *always* get the client's time zone, even if I do a "reset timezone" before that

When I do the same with psql I can see the server's time zone.

Ultimately I would like to get the server's time, e.g. by running something like:

   select current_timestamp at time zone server_timezone

I already posted this to the general mailing list, because I initially thought this was a Postgres problem.
Tom Lane suggested, I could see the original time zone the server is set up with using:

   select reset_val from pg_settings where name = 'TimeZone';

But that again returns the client's time zone through JDBC, but the real time zone through psql.

It seems the driver changes this setting permanently for the session.
If that is the case, can I prevent that somehow?

Thomas



pgsql-jdbc by date:

Previous
From: Thomas Kellerer
Date:
Subject: Retrieve the server's time zone
Next
From: Álvaro Hernández Tortosa
Date:
Subject: [pgjdbc/pgjdbc] befea1: Add SCRAM-SHA-256 support (#842)