Я хочу изменить строку таблицы с 2011-06-30 05: 59: 59 + 00 format в 2011-06-30 05:59:59 Формат CDTКак изменить таблицу в Postgres, чтобы показать временную метку с аббревиатурой часового пояса (2004-10-19 10:23:54 EST)
0
A
ответ
1
Как сказал Тим, postgres не хранит TZ
информации. Вы не можете изменить колонку таким образом. Если вы не создадите функцию или представление или что-то (что не изменит таблицу в любом случае). Что вы делаете, вместо этого, вы change timezone, чтобы увидеть необходимый:
часового пояса (строка)
Устанавливает часовой пояс для отображения и интерпретации временных меток. Если явно не задано, сервер инициализирует эту переменную в часовой пояс, указанный в ее системной среде. См. Раздел 8.5.3 для получения дополнительной информации.
И использовать formatting для отображения TZ
информации ... Как здесь:
b=# select now();
now
-----------------------------
2016-12-07 15:13:35.1369+00
(1 row)
b=# set timezone = EST;
SET
b=# select to_char(now(),'YYYY-MM-DD HH24:MI:SS TZ');
to_char
-------------------------
2016-12-07 10:13:55 EST
(1 row)
Postgres метки времени на самом деле не хранить часовой пояс информацию. Также поймите, что смещение от GMT в часах не обязательно позволяет определить, какой _location_ этот часовой пояс. См. [Здесь] (http://stackoverflow.com/questions/5876218/difference-between-timestamps-with-without-time-zone-in-postgresql) для получения дополнительной информации. –