(on -hackers)
> If you apply the AT TIME ZONE operator to a TIMESTAMP WITH TIME ZONE
> value, what happens is the internal GMT value is rotated to the
> specified zone and then the output is labeled as type TIMESTAMP WITHOUT
> TIME ZONE, preventing any further automatic zone rotations.
Hmm. That is how it probably *should* work, but at the moment the
timestamptz_zone() function actually outputs a character string! That is
a holdover from previous versions which did not have a "no zone"
timestamp; it would seem now to be more appropriate to output a no-zone
timestamp.
I'll look at changing this in my upcoming patch set...
- Thomas