Hello,
I was surprised to observe this behavior in psql (my time zone is GMT+2)
db=# create table t(created_at timestamp with time zone);
db=# insert into t(created_at) values ('2017-08-24 12:00:00 +02:00');
db=# insert into t(created_at) values ('2017-08-24 12:00:00 +03:00');
db=# select created_at from t;
Both timestamps are printed in my local tz, even if I specify a different tz when I insert them. I understand that pg does the correct conversion to the local tz, but I would expect that it prints the tz information that I inserted.
In short, I would expect the last statement to return the following:
db=# select created_at from t;
I wonder if the conversion is done before the storage, or before the printing, ie. if the original tz information is lost. In addition, I would be very interested to read discussions that led to this design decision.
Thank you very much for your answers,