Re: pg_upgrade seems a tad broken

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Bruce Momjian <bruce@momjian.us>
Cc: pgsql-hackers@postgreSQL.org
Date: 2011-02-15T05:04:23Z
Lists: pgsql-hackers
I wrote:
> I tried to do a pg_upgrade from 9.0.x to HEAD today.  The pg_upgrade run
> went through without complaint, and I could start the postmaster, but
> every connection attempt fails with 

> psql: FATAL:  could not read block 0 in file "base/11964/11683": read only 0 of 8192 bytes

> The database OID varies depending on which database I try to connect to,
> but the filenode doesn't.  In the source 9.0 database, this relfilenode
> belongs to pg_largeobject_metadata.  I'm not sure whether pg_upgrade
> would've preserved relfilenode numbering, so that may or may not be a
> useful hint as to where the problem is.  But in any case it's busted.

Closer investigation shows that in the new database, relfilenode 11683
belongs to pg_class_oid_index, which explains why it's being touched
during backend startup.  It is indeed of zero length, and surely should
not be.  I can't resist the guess that something about the recently
added hacks for pg_largeobject_metadata is not right.

			regards, tom lane