Подсчет событий по дням при соблюдении часового пояса в Postgres - PullRequest
0 голосов
/ 07 апреля 2019

У меня очень большая таблица в базе данных postgres.У него есть столбец отметки времени, и я хочу посчитать количество строк "за день" за период времени.Это достаточно просто сделать наивно GROUP BY, выводя date_trunc в столбце метки времени.Однако это не относится к часовому поясу пользователя (я хочу сгруппировать по дням, чтобы полночь для пользователя была их полночь, а не полночь UTC.

Я выполнил этовручную настраивая метку времени, добавляя интервал, представляющий смещение часового пояса пользователя перед его усечением. Это работает, но это медленно и приводит к тому, что настроенные мной индексы не используются.

Есть лилучший способ добиться этого, который лучше поддерживается Postgres?

1 Ответ

0 голосов
/ 07 апреля 2019

Если вы знаете, в каком часовом поясе находятся значения, вы можете переключать часовые пояса:

select date_trunc('day', col at time zone 'American/New_York')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...