Robert Haas wrote:
> On Sat, Jul 24, 2010 at 11:37 PM, Bruce Momjian <bruce@momjian.us> wrote:
> >> I am inclined to prevent pg_upgrade from migrating any database that
> >> uses any of these reg* data types, and document this restriction. ?I
> >> probably could allow regtype because that pg_type is preserved.
> >
> > I have applied the attached patch to CVS HEAD and 9.0 that prevent
> > migration when any reg* data type is used in a user table (except
> > regtype because pg_type.oid is preserved).
>
> This is a good change; however, there is still some potential for
> lossage here. What if the column were declared as type OID? Then it
> would be hard to tell whether migration was safe or not. Perhaps the
> right long-term solution is to try harder to preserve OIDs in more
> cases.
You are right that an oid column cannot be tracked easily. It could
refer to a user table with oids, or it might be a system row reference.
I have considered preserving more oids, but that is going to increase
the backend changes for pg_upgrade, and I am hesistant to do that until
there is a claarer demand.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ It's impossible for everything to be true. +