Мои данные хранятся без часового пояса, в IST (изменить это пока нельзя).
select
some_date as t0,
some_date AT TIME ZONE 'Asia/Kolkata' as t1,
date_add('minute', -330, some_date) AT TIME ZONE 'Asia/Kolkata' as t2
from my_table limit 1;
t0: 2016-03-27 09:52:33.000
t1: 2016-03-27 15:22:33.000 Asia/Kolkata
t2: 2016-03-27 09:52:33.000 Asia/Kolkata
Мне нужен t2, но способ, которым я его получил, оставляет желать лучшего. Есть ли лучший способ добавить информацию о часовом поясе в столбец отметки времени?
Кроме того, что будет печатать cast(some_date as timestamp with time zone) в вашей настройке и во время сеанса?
cast(some_date as timestamp with time zone) возвращает 2016-03-27 09:52:33.000 UTCЯвляется ли ваша зона сеанса UTC? Вы пробовали изменить зону сеанса? Когда проблема, которую я связал, решена, все будет проще ...
@PiotrFindeisen Я искал в Google, и я не могу найти ничего относительно зон сеанса в Афине, какие-либо советы?
Зона сеанса отправляется в Presto клиентской библиотекой, нет оператора SQL для изменения зоны. Я не знаю клиентскую библиотеку (-ы) Афины. Есть ли для вас смысл попробовать автономную Presto и соответствующие клиентские библиотеки? Вы можете использовать, например, aws.amazon.com/marketplace/pp/B07DKV5659, чтобы легко вызвать кластер Presto желаемого размера.
@PiotrFindeisen, к сожалению, система большая и находится в процессе эксплуатации, изменение инфраструктуры было бы слишком трудоемким делом, чтобы исправить небольшую проблему с часовым поясом.





Вы пробовали не устаревшую семантику временных меток, как это было описано в github.com/prestodb/presto/issues/7122?