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

From Evan D. Hoffman
Subject Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4
Date
Msg-id CABRB-LvB2RJLExQ7nMNJR0q5PQ2_ZOY9gEVn5Dup7Geh-V3S7g@mail.gmail.com
Whole thread Raw
In response to Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4  (Bruce Momjian <bruce@momjian.us>)
Responses Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
That's correct.  Here's what substitutionlist_pkey looks like in the new cluster.  From this, it looks like it's actually correct (the oid for substitutionlist_pkey is correct) but pg_upgrade thinks it's wrong and dies.  I'll look for the logs you requested and send them separately

db=# SELECT relname, relfilenode, relkind from pg_class where oid = 299749;
    relname     | relfilenode | relkind 
----------------+-------------+---------
 pg_toast_17304 |      299749 | t
(1 row)

db=# select oid, relname, relfilenode, pg_relation_filepath(oid), relkind from pg_class where relname='substitutionlist_pkey';
   oid   |        relname        | relfilenode | pg_relation_filepath | relkind 
---------+-----------------------+-------------+----------------------+---------
 2938685 | substitutionlist_pkey |     2938685 | base/16488/2938685   | i
(1 row)

db=# select version();
                                                   version                                              
      
--------------------------------------------------------------------------------------------------------
------
 PostgreSQL 9.2.4 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3), 6
4-bit
(1 row)

db=# 



On Thu, May 9, 2013 at 3:29 PM, Bruce Momjian <bruce@momjian.us> wrote:
On Thu, May  9, 2013 at 03:23:20PM -0400, Evan D. Hoffman wrote:
> I just did the whole process over from the beginning.  here's the full output:
>
> Copying user relation files
>   /var/lib/pgsql/9.1/data/base/16406/3016054
> Mismatch of relation OID in database "db": old OID 2938685, new OID 299749
> Failure, exiting
>
> real 16m17.924s
> user 1m34.334s
> sys 1m27.519s
> Thu May  9 14:47:25 EDT 2013
>
> Here's the query of that OID:
>
> db=# SELECT relname, relfilenode, relkind from pg_class where oid = 299749;
>     relname     | relfilenode | relkind
> ----------------+-------------+---------
>  pg_toast_17304 |      299749 | t
> (1 row)
>
> db=#

OK, so the old oid matches 'substitutionlist_pkey' and the new oid
matches 'pg_toast_17304'.  Is that right?  Does 'substitutionlist_pkey'
exist in the new cluster at all?  You need to see if 2938685 exists in
the per-database dump file that should exist in the current directory,
and show me the lines matching and the DDL command below that.  You can
email me the entire file privately if you want --- there is only DDL in
there, no data (please verify if you are concerned).

--
  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: Bruce Momjian
Date:
Subject: Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4
Next
From: Bruce Momjian
Date:
Subject: Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4