Aquí en Londres, actualmente estamos 1 hora por delante de UTC. Entonces, si tomo su zona horaria sin marca de tiempo y digo que está en UTC, la imprimiré para mi zona horaria local.
richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC');
timezone
------------------------
2015-10-24 17:38:46+01
(1 row)
Pero desea "EST", que parece estar en algún lugar de las Américas, a juzgar por el valor devuelto. Puede envolver la expresión en una pequeña función SQL si lo desea.
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)
Editar:cómo hacerlo en una consulta
SELECT ((stored_timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EST') AS local_timestamp
FROM my_table;
Probablemente querrá obtener un libro de introducción a SQL si este tipo de cosas le están causando problemas.