Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom, I have reviewed your objections:
Thanks.
> Is there something I am missing?
My principal objection to this is that I do not like piecemeal breakage
of pg_upgrade, disk page examination tools, etc. There are other things
that have been proposed that would require changes of page header or
tuple header format, and I would prefer to see them bundled up and done
as one big change (in some future revision; it's probably too late for
7.3). "Disk format of the week" is not an idea that appeals to me.
I know as well as you do that pg_upgrade compatibility is only
interesting if there *is* a pg_upgrade, which very possibly won't
happen for 7.3 anyway --- but I don't like foreclosing the possibility
for a marginal win. And this is definitely a marginal win. Let's
try to batch up enough changes to make it worth the pain.
In case you are wondering what I am talking about, here is an
off-the-cuff list of things that I'd prefer not to do one at a time:
* Version identifier words in page headers
* CRCs in page headers
* Replication and/or point-in-time recovery might need additional
header fields similar to those used by WAL
* Restructuring of line pointers
* Making OIDs optional (no wasted space if no OID)
* Adding a tuple version identifier to tuples (for DROP COLUMN etc)
* Restructuring index tuple headers (remove length field)
* Fixing array storage to support NULLs inside arrays
* Restoring time travel on some optional basis
Some of these may never happen (I'm not even in favor of all of them)
but it's certain that we will want to do some of them. I don't want to
take the same hit over and over when some intelligent project management
would let us take it just once or twice.
regards, tom lane