Сохраняет текущее значение в местном времени и устанавливает часовой пояс со смещением вашего местного времени:
create table a(t timestamp without time zone, t2 timestamp with time zone);
insert into a(t) values ('2012-03-01'::timestamp);
update a set t2 = t;
select * from a;
t | t2
---------------------+------------------------
2012-03-01 00:00:00 | 2012-03-01 00:00:00-08
alter table a alter column t type timestamp with time zone;
select * from a;
t | t2
------------------------+------------------------
2012-03-01 00:00:00-08 | 2012-03-01 00:00:00-08
В соответствии с инструкцией для Изменить таблицу :
если [предложение USING] опущено, преобразование по умолчанию аналогично присвоению, приведенному от старого типа данных к новому.
Согласно руководству для Типы даты / времени
Преобразования между отметкой времени без часового пояса и отметкой времени с часовым поясом обычно предполагают, что отметка времени без часового поясаЗначение должно быть взято или задано как часовой пояс местное время.Для конвертации можно указать другой часовой пояс, используя AT TIME ZONE
.