2013-07-13 3 views
0

Я сохраняю поле времени в столбце timestamp without timezone. Данные хранятся в UTC. Когда я вызываю данные обратно на героку, я получаю что-то вроде 2013-07-13T18:06:41.000Z, что и хочу.Часовой пояс с Postgres на Windows

Однако на моей тестовой машине, которая работает с окнами 8 и postgres 9.3, я возвращаю ее обратно Sat Jul 13 2013 18:06:41 GMT-0400 (Eastern Daylight Time). Это подходящее время. Это правильное время со смещением по местному времени.

Как я могу сопоставить свое производство db, чтобы вернуть те же или похожие результаты в мой тестовый db?

+0

Не могли бы вы показать код, в котором вы извлекаете данные? Очевидно, что временная метка интерпретируется в локальном часовом поясе сервера, а не как UTC. –

ответ

1

Похоже, вы хотите запустить тестовый сервер с TimeZone, установленным на UTC.

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

См. the manual.

+0

Спасибо за информацию. Я попробовал это. Я нашел больше информации об этой проблеме и обнаружил, что это ошибка в узле-postgres lib. Кажется, что работа заключается в том, чтобы установить часы на окна в UTC и предотвратить преобразование в локальное время. – Alexis

+0

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

Смежные вопросы