powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Серверное время и часовые пояса
15 сообщений из 65, страница 3 из 3
Серверное время и часовые пояса
    #36684969
nodir_azam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вставка делается на сайте и время сайта отличается от времени клиента. Сам джоб - это звонок или СМС.
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #36685111
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nodir_azamWarstone,
Тогда вставка будет неправильной, если не делать set session timezone, нет?
Опять Вы меня запутали :).
Вставим 2010-06-13 10:21:00 и на сервере будет 2010-06-13 10:21:00, а не 2010-06-13 08:21:00.
Я не прав?В корне не правы. В вашем случае нет понятия вставим 2010-06-13 10:21:00. В вашем случае есть понятие вставим 2010-06-13 10:21:00 +3 GMT. Так как тип timestamptz. Таимзона берется из настроек ОС клиента. И, если GMT на клиенте отличается от GMT значения в записи, то произведется автоматическое конвертирование времени в GMT клиента.
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #36685160
nodir_azam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Warstone,
У меня web-сервер в UTC+3, клиент для всех - веб-клиент.
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #36685225
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nodir_azamWarstone,
У меня web-сервер в UTC+3, клиент для всех - веб-клиент.Гм... тогда для всех дат у вас будет UTC+3 при инициализации подключения. А вот дальше... Советую читать HTTP заголовки. Там, насколько я помню, таимзона передается... На основе нее делать SET LOCAL/SESSION TimeZone (в зависимости от того, как вы работаете. Что конкретнее - прочитаете в манах по SET). Тогда у вас будут попадать в базу верные даты и вы можете выбирать оттуда таски. Более того, если вы вдруг решите что сервер звонилки должен быть отдельно, а может и не один и в разных часовых поясах - то вот тогда вам будет удобно проверять время не заботясь об этих самых поясах.
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #36685247
nodir_azam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Warstone,
да, я примерно также себе представлял.
Спасибо.
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #36686143
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
WarstoneСоветую читать HTTP заголовки. Там, насколько я помню, таимзона передается...

Нет, не передается.
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #36686477
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBGНет, не передается.Передается, но в другую сторону. Тогда ничего не остается, кроме как из JS new Date чего-нибудь вымутить.
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #36686615
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
WarstoneТогда ничего не остается, кроме как из JS new Date чего-нибудь вымутить.

Временную зону - не получится. Ну, "чего-нибудь вымутить" можно.
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #36686842
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nodir_azamА зимой что ставить? Или можно просто ставить set session timezone to 'Europe/Moscow'?можно, описание зоны Europe/Moscow содержит информацию о том, когда нужно переводить часы.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Серверное время и часовые пояса
    #38715037
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стыдно, но спрошу:

хочу иметь timestamp (именно without...) в серверном timezone.
в клиентском сеансе LOCALTIMESTAMP получаю в клиентском же времени.
сказать RESET TimeZone внутри пишущей хранимки -- не помогает (не понял, почему)
как получить серверную TimeZone ? (чтобы сказать Set TimeZone, или выставить переменную окружения ф-ии-- серверную, но не битым текстом /что может поменяться при смене настроек сервера/, а как исчислимую ф-ю).

а то SELECT current_setting('TimeZone') возвращает сессионный (т.е. клиентский)

ps простите за некропост
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #38715234
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"переформулирую"

можно ли получить локальное (в локальной системе отсчета сервера) время сервера (without timezone) в сессии клиента ?

т.е. сделать что-то типа :
Код: sql
1.
SELECT clock_timestamp() AT TIME ZONE current_setting('log_timezone') ltz


но с более надежным , чем current_setting('log_timezone') &
//который может, вероятно, отличаться от серверного timezone
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #38715808
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwq,

pl/perl'ом сходить в шелл?
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #38715924
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tadmin,
я, ващето, могу сходить в dblink "под себя".
Но не хочу.
Из принципа.


Судя по всему, замечательные разработчики "абсолютного времени" timestamptz, специально вилки попрятали, чтобы затруднить использование выделенного серверного времени без "with timezone"-- интерфейсов.

им, очевидно, хотелось , чтобы их называли гнойными альтернативно ориентированными гайсами.
и таки они своего добились, если чо

а чего, вроде бы, проще - дать усеру выделенное (системой координат) серверное время -- типа systimestamp().
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #38715957
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwq хотелось , чтобы
Видимо, сильно прятались от непредсказуемого разнообразия систем и их администраторов. Отсюда свой tzdata, к примеру. Думаю, в этом есть своя логика. Просто забыли оставить лазейку наружу. И java тоже не полагается на таймзоны системы.
...
Рейтинг: 0 / 0
Серверное время и часовые пояса
    #38894988
?Ы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
-- Function: server_timestamp()

-- DROP FUNCTION server_timestamp();

CREATE OR REPLACE FUNCTION server_timestamp()
  RETURNS timestamp without time zone AS
$BODY$
	SELECT current_timestamp
				AT time zone 
					( SELECT reset_val FROM pg_settings WHERE name ilike 'TimeZone')
			;
$BODY$
  LANGUAGE sql STABLE SECURITY DEFINER
  COST 100;
ALTER FUNCTION server_timestamp()
  OWNER TO postgres;
COMMENT ON FUNCTION server_timestamp() IS 'current transaction timestamp AT server time zone';
...
Рейтинг: 0 / 0
15 сообщений из 65, страница 3 из 3
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Серверное время и часовые пояса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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