Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопрос по time zone / 8 сообщений из 8, страница 1 из 1
29.03.2016, 17:33
    #39203474
Бока
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по time zone
Eсть дв БД , находящиеся в разных time zone
Что лучше использовать , чтобы время при сравнении по результатам запросов в одном и том же интервале времени совпадало (например в запрсе фигурирует в AND condition ограничение с 14:00 до 17:00):
- поле еипа "timetz" или поле типа "time" ?
...
Рейтинг: 0 / 0
29.03.2016, 18:06
    #39203511
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по time zone
Бока,

Используйте timestamptz (просто время использовать надо очень осторожно) и для сравнения приводите к одной зоне через `AT TIME ZONE`, скажем к UTC.
...
Рейтинг: 0 / 0
29.03.2016, 19:55
    #39203608
p2.
p2.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по time zone
Бокачтобы время при сравненииtimetz мусорный тип, безопасно его можно использовать только с абсолютной таймзоной. А тип надо выбирать исходя из более внятно озвученных бизнес-правил. Магазин открывается в 09:00 в москве и в новосибирске - это одинаковое время? Что такое сравнение "Eсть дв БД" - выбирать тип хранения исходя из сравнения глазами, для каких задач используется время в отрыве от даты?

vyegorovИспользуйте timestamptz (просто время использовать надо очень осторожно) и для сравнения приводите к одной зоне через `AT TIME ZONE`, скажем к UTC.Что меняет привод к одной ТЗ? Или совет тоже для сравнения "глазами".
...
Рейтинг: 0 / 0
29.03.2016, 21:34
    #39203666
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по time zone
p2.vyegorovИспользуйте timestamptz (просто время использовать надо очень осторожно) и для сравнения приводите к одной зоне через `AT TIME ZONE`, скажем к UTC.Что меняет привод к одной ТЗ? Или совет тоже для сравнения "глазами".
Не только "глазами". Мало ли — данные выгружаются в файлы, куда-то копируются и потом обрабатываются скриптом или ещё чем…
...
Рейтинг: 0 / 0
30.03.2016, 10:29
    #39203884
PCContra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по time zone
я решил вопрос следующим образом:

при коннекте к БД устанавливается таймзона для сессии, например, +7.

Далее выполняются запросы к бд. Если платеж был в хабаровске в 14:30 30 марта, то далее надо решать, как вам нужно.

Если вы хотите, чтобы платеж был при выборке виден как в 14:30 (например, ищите после обеда), то ваш выбор - без таймзоны. При коннекте в любом городе, например, в Морскве +3, скажем, в 10 утра, платеж в Хабаровске буден виден как 14:30. Такой подход выглядит разумным. Делаете выборку по оплатам "после обеда", получаете, что нужно.

Если Вам надо сравнивать время между собой, скажем, при ведении логов таблиц, то выбирайте для таких полей "с таймзоной".

В целом, что и как хотят видеть - надо решать на этапе тех задания у заказчика
...
Рейтинг: 0 / 0
30.03.2016, 10:42
    #39203892
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по time zone
p2.Бокачтобы время при сравненииtimetz мусорный тип, безопасно его можно использовать только с абсолютной таймзоной.<>.это называется "ниасилил"

tz это как раз таки абсолютный тип. из мусорного там только tz--интерфейсы ["отображения" этого абсолюта в клиентских зонах].

а вот мусорный -- это как раз "локальный тип" без tz. патамушта все данные в ачучения ф-ии приведения серверного (tz) времени к нему (локальтипу)-- относительны, и зависят от таймзоны клиентского сеанса. приходится специально смотреть на reset_val в pg_settings -- чтобы значит в локальную sys time zone угодить (не зависимо от зоны сеанса клиента).

Код: sql
1.
SELECT reset_val FROM pg_settings where name ilike 'timeZone'



т.е. "хотели каклучше, а получилось кака бычна"
а уж перевод стрелок как прелестно ложится на локальное время, так что оно даже не монотонно.
...
Рейтинг: 0 / 0
30.03.2016, 14:03
    #39204129
Бока
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по time zone
vyegorovp2.пропущено...
Что меняет привод к одной ТЗ? Или совет тоже для сравнения "глазами".
Не только "глазами". Мало ли — данные выгружаются в файлы, куда-то копируются и потом обрабатываются скриптом или ещё чем…именно так:
- во-первых для отчётов, которые будут анализировать глазами;
- а во-вторых выгрузки в файл и обработки вне базы данных
...
Рейтинг: 0 / 0
30.03.2016, 14:12
    #39204150
Бока
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по time zone
Всем спасибо, информация ценная.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Вопрос по time zone / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]