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

From: "Evan D(dot) Hoffman" <evandhoffman(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Igor Neyman <ineyman(at)perceptron(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4
Date: 2013-05-09 19:52:42
Message-ID: CABRB-LvB2RJLExQ7nMNJR0q5PQ2_ZOY9gEVn5Dup7Geh-V3S7g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general 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(at)momjian(dot)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(at)momjian(dot)us> http://momjian.us
> EnterpriseDB http://enterprisedb.com
>
> + It's impossible for everything to be true. +
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Karl Denninger 2013-05-09 19:53:28 Re: Storing small image files
Previous Message Bruce Momjian 2013-05-09 19:29:40 Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2013-05-09 20:15:36 Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4
Previous Message Bruce Momjian 2013-05-09 19:29:40 Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4