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. +