Re: pg_dump failed sanity check and user defined types

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Brook Milligan <brook(at)biology(dot)nmsu(dot)edu>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: pg_dump failed sanity check and user defined types
Date: 2000-09-11 20:37:01
Message-ID: 18579.968704621@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Brook Milligan <brook(at)biology(dot)nmsu(dot)edu> writes:
>> failed sanity check, type with oid 3516132 was not found

> Sounds like you dropped a user type without remembering to drop all
> the functions/operators defined for it. Unfortunately there's no
> safety cross-check in DROP TYPE (probably there should be).

> That's what I would have guessed, but I'm pretty sure that is not the
> case (but I'm new to UDTs, so bear with me; maybe I'm not constructing
> my script right). See the script below that does the installation of
> the types and functions. The problem occurs after running this script
> followed by the pg_dump above.

I can't duplicate that, either in current sources or 7.0.2. Are you
sure you're blaming the right bit of script?

> Is there some order dependency for dropping types and functions?
> Should I not be dropping these before creating them (I do this to
> allow rerunning the script)? Does it have anything to do with the
> fact that a single object.so provides all the entry points?

What you showed looks fine.

> You should be able to find the offending entries by searching through
> the system catalogs with queries like
> select * from pg_operator where oprleft = 3516132

> There are no rows found.

You may need to dig into pg_dump and see exactly what it's complaining
about ... it's getting that OID from someplace ...

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alfred Perlstein 2000-09-11 20:54:45 bug with dropping tables and transactions.
Previous Message Brook Milligan 2000-09-11 18:22:59 operators and indexes