Re: "could not read block 0... " error followed by "database does not exist"

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Janet S Jacobsen <JSJacobsen(at)lbl(dot)gov>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: "could not read block 0... " error followed by "database does not exist"
Date: 2010-02-13 02:57:56
Message-ID: 21349.1266029876@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Janet S Jacobsen <JSJacobsen(at)lbl(dot)gov> writes:
> Hi. I am running Postgres 8.2.7 on a Linux system for over
> a year now with no problems.

> Today one of the database users reported the following error:

> psql: FATAL: could not read block 0 of relation 1664/0/1262: read
> only 0 of 8192 bytes

Ugh. 1262 is pg_database --- apparently something has truncated your
pg_database table to zero bytes :-(. Which certainly explains the
"no such database" errors.

Have you got any chance of pulling that physical file from a backup?
The one bright spot here is that pg_database is pretty static in most
installations, so you could probably use even a not-very-current copy.
The file you want is $PGDATA/global/1262.

I don't offhand know of any bugs in 8.2.7 that could cause this,
though that is rather an old version ... you might want to think
about an update to 8.2.something-recent.

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2010-02-13 03:20:06 Re: "could not read block 0... " error followed by "database does not exist"
Previous Message Janet S Jacobsen 2010-02-13 02:11:09 "could not read block 0... " error followed by "database does not exist"