"Clarence" <clarence1126@xxxxxxxxx> writes: > I have a completely idle postgresql system (all backends "idle", none > "in transaction"); every time I attempt to vacuum a particular table, > it hangs after a while. > ... > In the system error log there is this line: > could not write block 32756 of relation 1663/134097/385649401: > No space left on device > The referenced block is in the table's index file. The disk has plenty > of space. ... but at one time not so much, right? > Someone tried to drop the index and got this: > ERROR: FlushRelationBuffers("idx_ld1", 0): block 32756 is referenced > (private 0, global 1) What it looks like to me is that some backend tried to write out a dirty page, failed for lack of disk space, and neglected to release the buffer pin during error recovery. The extra pin would block VACUUM but not much of anything else. A postmaster restart should clear the problem. I seem to recall having fixed a bug like this in the past. What PG version are you running? regards, tom lane