2016-09-22 4 views
0

Я пытаюсь перенести столбец в Postgres с Timestamp without time zone на timestamp with time zone. Я хочу сделать это для немецкого времени, так как я использовал следующий запрос:PostgreSQL: преобразование временной метки без часового пояса в определенный часовой пояс не работает

alter table table_name alter column uploaddate type TIMESTAMP WITH TIME ZONE USING uploaddate at time zone 'UTC+01:30'; 

К сожалению, это не работает, это добавление 2015-06-30 07:30:48.785+05:30. Сейчас я в Индии, +5.30. Как я могу указать запрос, чтобы сделать это с немецким часовым поясом. Спасибо.

ответ

1

Какова временная зона временных меток, хранящихся в таблице? То есть, если в таблице есть значение, такое как 2016-09-22 07:30, в каком часовом поясе 07:30? Это часовой пояс, который вы хотите использовать, а не текущий часовой пояс. Так, например, если все временные метки выражены в немецком часовом поясе вы должны сделать что-то вроде:

alter table table_name 
alter column uploaddate type TIMESTAMP WITH TIME ZONE 
USING uploaddate at time zone 'Europe/Berlin'; 

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

+0

Как я могу это подтвердить, так как даже после этого он показывает мне +5.30. У меня есть резервная копия, поэтому я просто заменяю ее. –

+0

Вы имеете в виду, что _after_ преобразование, если вы запустите запрос выбора, он напечатает смещение +5.30? Если это так, это не проблема, это связано только с тем, как 'psql' _prints_ отметки времени, а не с тем, как postgresql _stores_ их. Вы можете выполнить «НАСТРОЙКА ВРЕМЕННОЙ ЗОНЫ» Europe/Berlin'', а затем все последующие запросы в том же сеансе будут печатать временные метки в своих текстовых представлениях в немецком времени. – redneb

+0

Только один последний вопрос, как я могу увидеть временную метку, установленную либо в pgadmin, либо через PSQL? –

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

  • Нет связанных вопросов^_^