I'm a bit late with my reaction but I've seen the message below on a Cobalt system (kernel 2.0.34) with postgresql 6.5.3. The problem could be reproduced (the entire /var/lib/pgsql dir would be replaced after every crash). A PHP3 script revoking user rights on many tables and ending with a vacuum caused the problem. After removing the vacuum all worked fine but after using the script a few times the database starts to get very slow. I would like to have this vacuum in the script to keep up performance so I wonder what precautions should be taken to prevend it from crashing the database (half of the tabels are unaccessable after this action). The reason for all the revokes is that dropped users leaf there permissions on tables somewhere in the database. The next user that will be added will inherit these permissions. That's the reason for the revoke. So am I missing something here and should I never use vacuum in a script invoked by users? Thanks Wim. > Bruce Momjian wrote: > > > > > > > > Anyone seen this message or know what it means? > > > > > > > > > > > > > > NOTICE: Index pg_proc_prosrc_index: NUMBER OF INDEX' TUPLES (1071) IS > > > > > > > NOT THE SAME AS HEAP' (1070) > > > > > > > > > > The only way to fix that is to initdb, I think. I would recommend > > pg_upgrade, after removing the disable from the pg_upgrade script that > > was added in 6.5. That will fix it. Not sure how it got that way, > > though. > > El dope primero aqui... > > Thanks for the tip. Here's what I had to do to make this work, for what it's worth > to future travelers... > > Cheers, > Ed Loehr > > psql -d mydb -c "select * from title;" > before > # Save for after cmp test... > cd /usr/local/pgsql # my install root... > vacuumdb mydb # clean up before moving... > cp -pr data data.backup # make a backup... > pg_dumpall -s > schema.sql # dump schema w/out data... > killall postmaster # stop the server... > sleep 3 > mv data data.old # set it aside... > cd /usr/src/pgsql/src # to the src tree... > gmake install # reinstall binaries... > cd /usr/local/pgsql # back to my install root... > initdb # recreate template1, sys stuff... > postmaster -i -o "-F -S 4096 -s" >& log & # restart server... > sleep 3 > pg_upgrade -f schema.sql data >& upgrade.log # reload schema... > cp -p data.old/base/mydb/* data/base/mydb/ # replace data... > psql -d mydb -c "select * from title;" > after > # verify we still have data... > diff before after # quick sanity check... > > > > ************ >