"Clarence" <[EMAIL PROTECTED]> 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

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to