Ron Snyder <snyder@roguewave.com> writes:
> I'm trying to pg_restore a database using a process that I've used a bunch
> (10-15) times in the past, and this is the first time it's ever failed on
> me. It's failing with the following error:
> pg_restore: creating table for large object cross-references
> pg_restore: [custom archiver] could not read data block - expected 1, got 0
> pg_restore: *** aborted because of error
Hm. Looking at the code, this appears to be an unexpected-EOF kind of
error (it expected to be able to read 1 more byte of data, and there
wasn't any).
> Jun 10 14:24:19 vault pgqv[16995]: [242528] DEBUG: query: Insert Into
> dump_blob_xref(oldOid, newOid) Values (1, 60983759);
> I've done this twice, with two different db dumps, and both have given me
> the same error. I'm wondering if that last line (with the oldOid value of
> 1) is significant.
I think the "1" is coincidental. It does seem that there is something
broken about the format of the dump file though. What version pg_dump
were you using, exactly?
Other things to check would include accidental truncation or corruption
of the dump file (eg, copying it onto a Windows machine might result in
newline conversion, which would be bad).
Philip, any other ideas where to look?
regards, tom lane