No Postgres 9.5, faço o seguinte para converter a timestamptz
para o fuso horário UTC:
SELECT TIMESTAMP WITH TIME ZONE '2016-02-20 15:15:54.000495+01' AT TIME ZONE 'UTC'
isso gera corretamente 2016-02-20 14:15:54.000495
como timestamp without timezone
.
Eu gostaria de armazenar esse valor em uma timestamptz
coluna. No entanto, quando eu faço o seguinte:
SELECT (TIMESTAMP WITH TIME ZONE '2016-02-20 15:15:54.000495+01' AT TIME ZONE 'UTC')::timestamptz
Eu esperaria obter 2016-02-20 14:15:54.000495
como timestamptz
.
No entanto, esta consulta me dá 2016-02-20 14:15:54.000495+01
como timestamptz
, que infelizmente nem representa a hora original.
Qual é a razão de tal comportamento? Como faço isso funcionar corretamente?