From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | CSN <cool_screen_name90001(at)yahoo(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: update time zone in timestamps |
Date: | 2003-12-05 14:43:05 |
Message-ID: | 20842.1070635385@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
CSN <cool_screen_name90001(at)yahoo(dot)com> writes:
> Is it possible to update the timezone part of
> timestamp fields in a single query? I have a bunch of
> values that are -06 I need changed to -07.
I suspect that you have a fundamental conceptual error.
You cannot "update the timezone" because the timezone is not part of the
stored value; it is part of the display operation. Stored values for
timestamptz columns are always effectively in UTC. When the value is
converted to a string for display, it is adjusted to your current local
timezone (per SET TIME ZONE) and that timezone is what's put on the
output.
So the basic answer is you don't change the data, you change your
TIME ZONE setting from -6 to -7 if that's what you want to see.
You might have an additional problem that the data was entered
incorrectly, and is one hour off from reality because you were
confused about time zones when you put it in. In that case you'd
fix it with something like
UPDATE tab SET col = col + '1 hour'::interval;
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Ryan Mahoney | 2003-12-05 15:34:08 | max_fsm_pages |
Previous Message | Roderick A. Anderson | 2003-12-05 13:43:49 | Re: Groups vs. Roles |