Qui a Londra, siamo attualmente 1 ora avanti rispetto all'UTC. Quindi, se prendo il tuo fuso orario senza timestamp e dico che è in UTC, lo farò stampare per il mio fuso orario locale.
richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC');
timezone
------------------------
2015-10-24 17:38:46+01
(1 row)
Ma vuoi "EST" che sembra essere da qualche parte nelle Americhe, a giudicare dal valore restituito. Puoi racchiudere l'espressione in una piccola funzione SQL se lo desideri.
richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC') AT TIME ZONE 'EST';
timezone
---------------------
2015-10-24 11:38:46
(1 row)
Modifica:come farlo in una query
SELECT ((stored_timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EST') AS local_timestamp
FROM my_table;
Probabilmente vorrai ottenere un libro introduttivo su SQL se questo genere di cose ti sta causando problemi.