URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 44663
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Изменение текущего часового пояса в MySQL, PostgreSQL и в скриптах"

Отправлено auto_tips , 24-Окт-08 17:53 
MySQL:

Посмотреть список глобального и локального часового пояса:
   SHOW VARIABLES LIKE '%time_zone%';

Конвертация в запросе времени из одной временной зоны в другую:
   SELECT CONVERT_TZ('2008-10-24 5:00:00','UTC','MSK');

Изменить текущую зону для локального соединения:
   SET time_zone = 'MSK'
или
   SET time_zone = '+03:00';

Для всего MySQL сервера часовой пояс можно поменять установив в файле конфигурации:
   default-time-zone='MSK'

или под привилегированным пользователем выполнить запрос:
   SET GLOBAL time_zone ='MSK'


PostgreSQL:

Для текущей сессии зона задается через:
   SET TIME ZONE 'MSK'
или
   SET TIME ZONE '-3'

Для клиентов использующих libpq часовой пояс может быть определен в переменной окружения PGTZ.

Если часовой пояс для всей СУБД не определен (параметр timezone) в postgresql.conf, он берется из
стандартной переменной окружения TZ

в shell:
   export TZ=GMT-3

в perl:
   $ENV{"TZ"}="GMT-3";
  
в PHP:
   putenv("TZ=GMT-3");

URL:
Обсуждается: http://www.opennet.ru/tips/info/1810.shtml


Содержание

Сообщения в этом обсуждении
"Изменение текущего часового пояса в MySQL, PostgreSQL и в скриптах"
Отправлено pavlinux , 24-Окт-08 17:53 
Например утиль date, если TZ установлена скажем в
export TZ=МАЙО_ВРЕМЯ, то date читает из
/usr/share/zoneinfo/МАЙО_ВРЕМЯ,
если переменная TZ не установлена, тогда смотрит в
/etc/localtime, а этот фаил, где-то копируется, где-то
симлинком на /usr/share/zoneinfo/Europe/Moscow.

А по правильному,- есть стандартизированные буквенные коды,
для Москвы это MSD и MSK в этом случае date будет читать из
/usr/share/zoneinfo/MSK (или MSD), но это есть точная копия
/usr/share/zoneinfo/Europe/Moscow

Вот такая попа :)

И ваще, БАЯНИСТЫЙ БАЯН -

http://dev.mysql.com/doc/refman/5.0/en/time-zone-support.html
http://www.opennet.ru/base/sys/date_and_time.txt.html
http://gazette.linux.ru.net/rus/articles/managing_accurate_d...


"Изменение текущего часового пояса в MySQL, PostgreSQL и в ск..."
Отправлено дЫбЫай , 25-Окт-08 23:43 
Павлин - да ты просто не в теме! :)

У DBA-щиков собственная гордость! Что оракул что постгре таскают собственную локализацию,
чтобы админам жизнь мёдом не казалась :)

(под FreeBSD  к примеру глянь на /usr/local/share/postgresql и далее два чедный дира: timezone и timezonesets :)
Оракла на работе - но поверь там такая же фигня. Про мыскыл - не знаю, не юзаю я его нигде :)


"Изменение текущего часового пояса в MySQL, PostgreSQL и в ск..."
Отправлено pavlinux , 28-Окт-08 02:41 
>Павлин - да ты просто не в теме! :)

Про аракыл знал, но недумал что так все запущено.

> Про мыскыл - не знаю, не юзаю я его нигде :)

mysql>  show variables;

...
system_time_zone         MSK
time_format              %H:%i:%s                  
time_zone                SYSTEM      
...

В конфиге ничего нет!


"Изменение текущего часового пояса в MySQL, PostgreSQL и в ск..."
Отправлено zerot , 01-Ноя-08 10:54 
локализация - это из другой оперы, а именно про национальные буковки. То, что в Oracle своя локализация - верно и правильно, т.к. переводить какую нибудь терабайтную базу, на которую заточен крупный бизинец, с кодировки RU8CP866 вам никто не даст. А новые клиентские приложения, стоящие на новой linux станции, вполне красиво перекодируются в нужную локаль оракловым клиентом

про таймзоны тоже можно придумать ситуацию, когда на одной машине существует несколько баз с разными таймзонами. Например одна - логический стэндбай с другого конца планеты, вторая местная, а дальше к ним еще и обращаться надо разным клиентам из разных мест
это не вопрос гордости, а вопрос качественности инструмента. Если ваш случай простой - можете использовать настройки по умолчанию и не париться ...

дык вот ...


"Изменение текущего часового пояса в MySQL, PostgreSQL и в скриптах"
Отправлено Air , 08-Ноя-14 02:40 
загрузить временные зоны
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql