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
wasmoved about 6 weeks ago and it looks like the backup task was not, shame on me. I really just need 2 very small
tablesout 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
issueand 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