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 200908060257.n762vh109755@momjian.us
Whole thread Raw
In response to Re: Re: [Pg-migrator-general] Composite types break pg_migrated tables  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: Re: [Pg-migrator-general] Composite types break pg_migrated tables  (Bruce Momjian <bruce@momjian.us>)
Re: Re: [Pg-migrator-general] Composite types break pg_migrated tables  ("Joshua D. Drake" <jd@commandprompt.com>)
Re: Re: [Pg-migrator-general] Composite types breakpg_migrated tables  ("Joshua D. Drake" <jd@commandprompt.com>)
List pgsql-hackers
Andrew Dunstan wrote:
> 
> 
> Bruce Momjian wrote:
> > Do we have no composite types in the regression tests, or do we not
> > store any in the database?  Same the enums.
> >
> >   
> 
> Looks like the enum regression tests at least drop all their tables :-(
> 
> > To allow pg_migrator to work, I would need to reserve the oids in
> > pg_type, import the dump, and renumber the pg_type entries (and
> > everything pointing to them) to the proper pg_type.oid.  The big problem
> > there is that I don't have access at the SQL level to set or change
> > oids. I am afraid the oid remumbering is something we would have to do
> > in the backend by walking through the pg_depend entries for the pg_type
> > row.  Yuck.
> 
> Yeah. Maybe we need some special way of setting the oids explicitly. But 
> preventing a clash might be fairly difficult.
> 
> Excluding every database that has a composite/array-of 
> user-defined-type/enum type would be pretty nasty. After all, these are 
> features we boast of.

Well, pg_migrator has gotten pretty far without supporting these
features, and I think I would have heard about it if someone had these
and migrated because vacuum analyze found it right away.  I am afraid
the best we can do is to throw an error when we see these cases and hope
we can improve things for 8.5.

As I understand it I have to look for the _use_ of these in user tables,
not the existance of them in pg_type ---  for example, there is
certainly an array for every user type, but it might not be used by any
user tables, and that would be OK.

--  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: Robert Haas
Date:
Subject: Re: machine-readable explain output v4
Next
From: Tom Lane
Date:
Subject: Re: Re: [Pg-migrator-general] Composite types break pg_migrated tables