> Not being familiar with the code, my assumption was that it would be > possible to push all the tuples involved off to another page as if they'd > been updated, with WAL logging and everything, similarly to the ideas that > keep getting kicked around for creating extra space for header expansion. > Almost the same code really, just with the target of moving everything that > references the dead column rather than moving just enough to create the > space needed. Actually doing the upgrade on the page itself does seem quite > perilous.
For in-place upgrade, you can tell which pages have been converted and which have not by looking at the page header, so you can put a switch into the code to handle each version appropriately. I don't think that would be possible in this case without purpose-built infrastructure. It might be possible to lock out writers only and rewrite the table in a new file though, disk space permitting. ...Robert -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers