Zdenek Kotala wrote:
Tom Lane napsal(a):
Heikki Linnakangas <[EMAIL PROTECTED]> writes:
In fact, I don't think there's any low-level data format changes yet between 8.3 and 8.4, so this would be a comparatively easy release to implement upgrade-in-place. There's just the catalog changes, but AFAICS nothing that would require scanning through relations.

After a quick scan of the catversion.h changelog (which hopefully covers
any such changes): we changed sequences incompatibly, we changed hash
indexes incompatibly (even without the pending patch that would change
their contents beyond recognition), and Teodor did some stuff to GIN
indexes that might or might not represent an on-disk format change,
you'd have to ask him.  We also whacked around the sort order of
bpchar_pattern_ops btree indexes.

Hmm, It seems that reindex is only good answer on all these changes.

Isn't that exactly what we want to avoid with upgrade-in-place? As long as the conversion can be done page-at-a-time, without consulting other pages, we can do it when the page is read in.

I'm not sure what the GIN changes were, but I didn't see any changes to the page layout at a quick glance.

The bpchar_pattern_ops change you mentioned must be this one:
    A not-immediately-obvious incompatibility is that the sort order within
    bpchar_pattern_ops indexes changes --- it had been identical to plain
    strcmp, but is now trailing-blank-insensitive.  This will impact
    in-place upgrades, if those ever happen.

The way I read that, bpchar_pattern_ops just became less sensitive. Some values are now considered equal that weren't before, and thus can now be stored in any order. That's not an incompatible change, right?

Sequence should be converted during catalog conversion.

Agreed.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to