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 200908052245.n75Mjuv25572@momjian.us
Whole thread Raw
In response to Re: [Pg-migrator-general] Composite types break pg_migrated tables  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Bruce Momjian wrote:
> 
> I received the following pg_migrator bug report today and was able to
> reproduce the reported failure when using composite types:
> 
>     test=> SELECT * FROM breakmigrator;
>     ERROR:  cache lookup failed for type 27604
> 
>     test=> ANALYZE VERBOSE public.breakmigrator;
>     INFO:  analyzing "public.breakmigrator"
>     INFO:  "breakmigrator": scanned 1 of 1 pages, containing 3 live rows and
>     0 dead rows; 3 rows in sample, 3 estimated total rows
>     ERROR:  cache lookup failed for type 27604
> 
> There is no pg_type row with oid 27604.
> 
> Can anyone suggest the cause?  Do we embed the object oid in the
> composite object?  Did we change the composite object storage layout
> between 8.3 and 8.4?  I am surprised the regression tests didn't show
> this error.  (I just tried ANALYZE on the regression database and it
> succeeded.)

More info:  I found 27604 in the old 8.3 database:
test=> SELECT * FROM pg_type WHERE oid = 27604;-[ RECORD 1 ]-+------------typname       | footypetypnamespace  |
2200typowner     | 10typlen        | -1typbyval      | ftyptype       | ctypisdefined  | ttypdelim      | ,typrelid
| 27602typelem       | 0typarray      | 27603typinput      | record_intypoutput     | record_outtypreceive    |
record_recvtypsend      | record_sendtypmodin      | -typmodout     | -typanalyze    | -typalign      | dtypstorage
|xtypnotnull    | ftypbasetype   | 0typtypmod     | -1typndims      | 0typdefaultbin |typdefault    |
 

'footype' has a different oid in the new 8.4 database:
test=> SELECT oid, * FROM pg_type WHERE typname = 'footype';-[ RECORD 1 ]--+------------oid            | 17580typname
    | footypetypnamespace   | 2200typowner       | 10typlen         | -1typbyval       | ftyptype        | ctypcategory
  | Ctypispreferred | ftypisdefined   | ttypdelim       | ,typrelid       | 17578typelem        | 0typarray       |
17579typinput      | record_intypoutput      | record_outtypreceive     | record_recvtypsend        |
record_sendtypmodin      | -typmodout      | -typanalyze     | -typalign       | dtypstorage     | xtypnotnull     |
ftypbasetype   | 0typtypmod      | -1typndims       | 0typdefaultbin  |typdefault     |
 

--  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: [Pg-migrator-general] Composite types break pg_migrated tables
Next
From: Josh Berkus
Date:
Subject: Re: Alpha Releases: Docs?