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

From: dave sale <postgres(at)slipt(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Unable to open DB: 2 Errors (unexpected zero page + could not open relation with OID)
Date: 2009-01-26 17:13:05
Message-ID: 497DEF21.30502@slipt.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Postgres 8.3.3 on 2.6.21

Some sort of corruption happened overnight and borked things on a server. Normally I'd just restore and go, but the DB was moved about 6 weeks ago and it looks like the backup task was not, shame on me. I really just need 2 very small tables out of this and then I can re-init. Any help is appreciated

There have been other pg databases running on this hardweare for over a year now. There is no indication of any other issue and the other instances are still happily running.

The first error greets me is:

$ psql -d v
psql: FATAL: index "pg_amproc_fam_proc_index" contains unexpected zero page at block 0
HINT: Please REINDEX it.

so I do:

template1=# reindex index pg_amproc_fam_proc_index;
REINDEX

and still get the same error.

thinking it's a system table, i try it in single mode:

$ postgres --single -P -D /postgres/v

PostgreSQL stand-alone backend 8.3.3
backend> reindex index pg_amproc_fam_proc_index;
backend>

Followed by back into the normal server, and then I get:

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)

-rw------- 1 postgres postgres 16K Jan 26 09:19 ./base/11511/33505478

The logging is still hitting on the pg_amproc_fam_proc_index now, but psql gets stuck at "OID 3606"...

Thanks in advance.
dave

Responses

Browse pgsql-general by date

  From Date Subject
Next 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)
Previous Message Asko Oja 2009-01-26 16:53:47 Re: dblink syntax question for remotely invoking void-returning procedures