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.me/tips/info/1810.shtml
Например утиль 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.me/base/sys/date_and_time.txt.html
http://gazette.linux.ru.net/rus/articles/managing_accurate_d...
Павлин - да ты просто не в теме! :)У DBA-щиков собственная гордость! Что оракул что постгре таскают собственную локализацию,
чтобы админам жизнь мёдом не казалась :)(под FreeBSD к примеру глянь на /usr/local/share/postgresql и далее два чедный дира: timezone и timezonesets :)
Оракла на работе - но поверь там такая же фигня. Про мыскыл - не знаю, не юзаю я его нигде :)
>Павлин - да ты просто не в теме! :)Про аракыл знал, но недумал что так все запущено.
> Про мыскыл - не знаю, не юзаю я его нигде :)
mysql> show variables;
...
system_time_zone MSK
time_format %H:%i:%s
time_zone SYSTEM
...В конфиге ничего нет!
локализация - это из другой оперы, а именно про национальные буковки. То, что в Oracle своя локализация - верно и правильно, т.к. переводить какую нибудь терабайтную базу, на которую заточен крупный бизинец, с кодировки RU8CP866 вам никто не даст. А новые клиентские приложения, стоящие на новой linux станции, вполне красиво перекодируются в нужную локаль оракловым клиентомпро таймзоны тоже можно придумать ситуацию, когда на одной машине существует несколько баз с разными таймзонами. Например одна - логический стэндбай с другого конца планеты, вторая местная, а дальше к ним еще и обращаться надо разным клиентам из разных мест
это не вопрос гордости, а вопрос качественности инструмента. Если ваш случай простой - можете использовать настройки по умолчанию и не париться ...дык вот ...
загрузить временные зоны
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql