I received the following error from a VACUUM ANALYZE:

NOTICE:  FlushRelationBuffers(place, 454): block 231 is referenced 
(private 0, global 4)
FATAL 1:  VACUUM (vc_repair_frag): FlushRelationBuffers returned -2

and psql lost the connection right after that.  This was repeatable, 
after the first occurrence I re-started the postmaster and tried again, 
same result.  The particular table in question is static data, that is 
it was originally filled in once by COPY and there were no subsequent 
inserts or deletes.  But I had just added a column to the table and 
updated it from another table to eliminate a frequently-done join, that 
was the reason for doing the VACUUM.

Since I had the text file with the complete table contents from the 
original COPY, I decided to re-build the table, so next I did DROP 
TABLE, and I got this:

NOTICE:  Buffer Leak: [004] (freeNext=-3, freePrev=-3, 
relname=place_pid, blockNum=1, flags=0xc, refcount=2 -1)
NOTICE:  Buffer Leak: [005] (freeNext=-3, freePrev=-3, relname=place, 
blockNum=231, flags=0xc, refcount=4 -1)
NOTICE:  Buffer Leak: [008] (freeNext=-3, freePrev=-3, relname=place, 
blockNum=85, flags=0xc, refcount=3 -1)
NOTICE:  Buffer Leak: [011] (freeNext=-3, freePrev=-3, relname=place, 
blockNum=0, flags=0xc, refcount=2 -1)
.
.

repeating about 20 more times with blockNum varying, and finally ending 
with the table being dropped.  I then re-built the table from scratch 
and everything seems to be fine now, VACUUM no longer gives errors.

Here is my system configuration:

PostgreSQL 7.0.2
RedHat Linux 7.0
P-III 800, 768MB RAM, 80GB disk

So I'm wondering what happened here, what might have caused the original 
error, if something else is potentially still corrupted, and if I should 
maybe re-build the whole database to be safe?

Advice much appreciated!

Bob Smith
Hammett & Edison, Inc.
[EMAIL PROTECTED]


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to