Re: Unable to open DB: 2 Errors (unexpected zero page + could not open relation with OID)

From: dave sale <postgres(at)slipt(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Unable to open DB: 2 Errors (unexpected zero page + could not open relation with OID)
Date: 2009-01-26 19:59:20
Message-ID: 497E1618.5070206@slipt.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thanks for your help;

template1=# select * from pg_class where oid=3606;
relname | relnamespace | reltype | relowner | relam | relfilenode | reltablespace | relpages | reltuples | reltoastrelid | reltoastidxid | relhasindex | relisshared | relkind | relnatts | relchecks | reltriggers | relukeys | relfkeys | relrefs | relhasoids | relhaspkey | relhasrules | relhassubclass | relfrozenxid | relacl | reloptions
----------------------------+--------------+---------+----------+-------+-------------+---------------+----------+-----------+---------------+---------------+-------------+-------------+---------+----------+-----------+-------------+----------+----------+---------+------------+------------+-------------+----------------+--------------+--------+------------
pg_ts_parser_prsname_index | 11 | 0 | 10 | 403 | 3606 | 0 | 2 | 1 | 0 | 0 | f | f | i | 2 | 0 | 0 | 0 | 0 | 0 | f | f | f | f | 0 | |
(1 row)

copying the pg_internal.init from various other databases did nothing to help. I'm in-process of the pg_internal.init method, but the first pass resulted in the same error. I'm not giving up yet...

thanks
dave

Tom Lane wrote:
> dave sale <postgres(at)slipt(dot)net> writes:
>> psql: FATAL: could not open relation with OID 3606
>
>> I'm pretty sure the file is there for 3606, but it's another system index from what I can tell:
>
>> postgres=> select oid,* from pg_class where oid=3606;
>> oid | relname | relnamespace | reltype | relowner | relam | relfilenode | reltablespace | relpages | reltuples | reltoastrelid | reltoastidxid | relhasindex | relisshared | relkind | relnatts | relchecks | reltriggers | relukeys | relfkeys | relrefs | relhasoids | relhaspkey | relhasrules | relhassubclass | relfrozenxid | relacl | reloptions
>> ------+----------------------------+--------------+---------+----------+-------+-------------+---------------+----------+-----------+---------------+---------------+-------------+-------------+---------+----------+-----------+-------------+----------+----------+---------+------------+------------+-------------+----------------+--------------+--------+------------
>> 3606 | pg_ts_parser_prsname_index | 11 | 0 | 10 | 403 | 33505478 | 0 | 2 | 1 | 0 | 0 | f | f | i | 2 | 0 | 0 | 0 | 0 | 0 | f | f | f | f | 0 | |
>> (1 row)
>
> That's bizarre. A look into the source code says you can only get that
> particular error message when the relcache code is unable to find a
> pg_class row for OID 3606 ... so how come there is one? My best guess
> at the moment is that the row looks valid to an MVCC snapshot but not
> under SnapshotNow rules. What do the xmin and xmax fields of that row
> contain?
>
> Also, you might be able to get out of this problem (at least far enough
> to dump the tables you need) by copying pg_internal.init from an
> undamaged database into the damaged one. Better keep the old copy of
> the file (if any) in case this makes things worse, though.
>
> regards, tom lane

--
Dave Crane
The Media Trust Company

Voice: 202.558.6438
Fax: 703.349.5468
6861 Elm Street
Suite 3C
McLean, VA 22101
USA

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Richard Broersma 2009-01-26 20:09:01 Seeking volunteers for SCALE (one more time)
Previous Message Tom Lane 2009-01-26 19:32:12 Re: Unable to open DB: 2 Errors (unexpected zero page + could not open relation with OID)