You always get the same data in browser client as the db original value . There are many different ways to display the same point in time (in different time zones). Two examples (textual representations of the timestamptz value):
'2012-03-05 20:00:00+03' '2012-03-05 18:00:00+01'
The same meaning.
As for Postgres, setting the server time zone for this is completely irrelevant. The only relevant one is session setup. And the only thing that changes is the display of value. It is always the same point in time.
So, just set the time zone in your session to get the appropriate textual representation:
Another option would be the AT TIME ZONE design. To get timestamp as a local timestamp without time zone :
SELECT my_timestamptz_column AT TIME ZONE '-8';
When working with table that contains a column of timezone type this may be the best approach, since the time zone can vary for each row.
Again, all this in the reference answer:
source share