Re: Re: [Pg-migrator-general] Composite types break pg_migrated tables - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Re: [Pg-migrator-general] Composite types break pg_migrated tables
Date
Msg-id 200908072016.n77KGsP20677@momjian.us
Whole thread Raw
In response to Re: Re: [Pg-migrator-general] Composite types break pg_migrated tables  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > Peter Eisentraut wrote:
> >> That might be a bit excessive.  As I understand it, arrays of built-in types
> >> (e.g., int[]) should work fine.  I suspect the majority of uses of arrays will
> >> be with built-in types, so allowing that would help a significant portion of
> >> installations.
> 
> > Agreed.  I realized that last night, and have modified pg_migrator to
> > test FirstNormalObjectId.
> 
> That's really the wrong thing.  It's safe to assume OIDs below 10000
> are portable across versions, because for them not to be would require
> someone to have changed a hand assignment.  However, OIDs between 10000
> and 16K are assigned on-the-fly by initdb, and those are *not* likely
> to be portable across versions.  As an example, the rowtype for
> pg_statistic has slightly different OIDs in 8.3 and 8.4.  So if you
> allow someone to port a database that is using a system catalog's
> rowtype, it will fail.  Admittedly that's not a real likely scenario,
> but if you're going to have a check it should be accurate.

Thanks, I changed FirstNormalObjectId to FirstBootstrapObjectId for the
array/enum/composite oid test, and added a C comment about it.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Alpha releases: How to tag
Next
From: "Kevin Grittner"
Date:
Subject: Re: Review: Revise parallel pg_restore's scheduling heuristic