Thread: could not read block 0 in file Error

could not read block 0 in file Error

From
Sbob
Date:

Hi all;


We had an issue with a PostgreSQL v12 cluster. Not sure all of the history as I was pulled in late, however we were seeing that the db would not start due to WAL inconsistencies, was throwing an error about could not find wal records.

So we ran a pg_resetwal -f -D [data dir]


we are dumping (via pg_dump) all the databases in the broken cluster and I will restore them to a new cluster,

however in one of the databases, for one of the tables we are getting this:


pg_dump: error: Dumping the contents of table "bigtable" failed: PQgetResult() fai
led.
pg_dump: error: Error message from server: ERROR:  could not read block 0 in file "base/6328739/6340053": read only 0 of 8192 bytes
pg_dump: error: The command was: COPY public.bigtable (recordid, containerid, record_type, description, overlaygroup) TO stdout;



Is there any way to recover?


Thanks in advance


Re: could not read block 0 in file Error

From
Karl Denninger
Date:
On 4/22/2022 16:23, Sbob wrote:

Hi all;


We had an issue with a PostgreSQL v12 cluster. Not sure all of the history as I was pulled in late, however we were seeing that the db would not start due to WAL inconsistencies, was throwing an error about could not find wal records.

So we ran a pg_resetwal -f -D [data dir]


we are dumping (via pg_dump) all the databases in the broken cluster and I will restore them to a new cluster,

however in one of the databases, for one of the tables we are getting this:


pg_dump: error: Dumping the contents of table "bigtable" failed: PQgetResult() fai
led.
pg_dump: error: Error message from server: ERROR:  could not read block 0 in file "base/6328739/6340053": read only 0 of 8192 bytes
pg_dump: error: The command was: COPY public.bigtable (recordid, containerid, record_type, description, overlaygroup) TO stdout;

Is there any way to recover?

Is the file physically there and can you "cat" it to /dev/null?  It's hard to read what doesn't exist or produces a hard error from the filesystem (e.g. disk error.)

--
Karl Denninger
karl@denninger.net
The Market Ticker
[S/MIME encrypted email preferred]
Attachment

Re: could not read block 0 in file Error

From
Laurenz Albe
Date:
On Fri, 2022-04-22 at 14:23 -0600, Sbob wrote:
> pg_dump: error: Dumping the contents of table "bigtable" failed: PQgetResult() failed. 
> pg_dump: error: Error message from server: ERROR:  could not read block 0 in file "base/6328739/6340053": read only 0
of8192 bytes 
 
> pg_dump: error: The command was: COPY public.bigtable (recordid, containerid, record_type, description, overlaygroup)
TOstdout;
 
> 
> Is there any way to recover?

No.  The file is obviously empty, so the data in that table are lost.

Your only hope is a good backup.

Yours,
Laurenz Albe