Re: Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4 - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4
Date
Msg-id 20130510112535.GI24521@momjian.us
Whole thread Raw
In response to Re: Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4  (Bruce Momjian <bruce@momjian.us>)
Responses Re: Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
On Thu, May  9, 2013 at 06:19:31PM -0400, Bruce Momjian wrote:
> > pg_upgrade already deals with the new code deciding not to create a
> > toast table (by forcing it to do so anyway in binary upgrade mode).
> 
> Yes, a good point I had forgotten.  postgres --binary-upgrade mode can
> force the toast table to be created to match the old cluster;  see
> toasting.c::create_toast_table():
> 
>     /*
>      * Check to see whether the table actually needs a TOAST table.
>      *
>      * If an update-in-place toast relfilenode is specified, force toast file
>      * creation even if it seems not to need one.
>      */
>     if (!needs_toast_table(rel) &&
>         (!IsBinaryUpgrade ||
>          !OidIsValid(binary_upgrade_next_toast_pg_class_oid)))
>         return false;
> 
> > It's only the other case that's problematic -- but then AFAICS fixing
> > that is just a SMOP.
> 
> Yes, it is this opposite case where the _new_ cluster wants a TOAST
> table that the old cluster doesn't have, which is what Evan is
> reporting.

So, if we eventually agree we need to be able to _suppress_ creation of
the TOAST table on the new cluster, I propose we do it in a similar way
to how we force TOAST creation, by having pg_dump set a backend variable
that is then tested in the backend to suppress TOAST table creation.

I don't think we know enough about the cause of this pg_upgrade failure
to know if this is necessary.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Fast promotion failure
Next
From: Andres Freund
Date:
Subject: Re: Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4