Robert Haas wrote:
> On Mon, Oct 18, 2010 at 2:29 PM, Jeff Davis <pgsql@j-davis.com> wrote:
> > A reasonable conversion path might be to offer integer timestamps using
> > a different type name (e.g. inttimestamp) that always means integer
> > timestamps. Then, they could convert using ALTER TABLE, then do an
> > in-place upgrade. We could even make pg_upgrade optionally convert
> > inttimestamp to timestamp in O(1) on an integer-timestamps build.
>
> I think in retrospect it would certainly have been better to make
> integer timestamps and float timestamps two separate data types,
> rather than two versions of the same data type. Whether it's worth
> providing that now after the fact is not clear to me. I'd be inclined
> to wait and see whether we get many complaints...
>
> One problem with changing types in pg_upgrade is that type OIDs can
> get embedded in the on-disk representation - I believe that this
> happens for arrays, for instance. So I think it's practical for
> pg_upgrade to change type names during a version upgrade, but not type
> OIDs.
One thing we have talked about is converting the page on read-in from
the backend. Since the timestamps are the same size as float or
integer, that might be possible.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ It's impossible for everything to be true. +