We are currently debugging a problem with error messages like this:
ERROR: 53100: could not write block 2427137 of relation
1663/706306048/706314280: No space left on device
The device has plenty of space left. The problem appears to be this
curious code in src/backend/storage/file/fd.c:
/* if write didn't set errno, assume problem is no disk space */if (returnCode != amount && errno == 0) errno =
ENOSPC;
What is the rationale for making this assumption?
We haven't yet figured out why the above error happens, but I suggest
that we at least make a more accurate error message.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/