hjeancha@freesurf.fr writes:
> i use postgresql version7.4.7 on i386-pc-linux-gnu, autovacuum is
> configured to run on this database.
Hmm ... in theory autovacuum should have kept you out of trouble,
if it was working properly. Were you keeping an eye on its log
output?
> Doing a manual vacuumdb on each database raise an error message saying:
> vacuumdb: vacuuming of database "ez_info1" failed: ERREUR: not enough
> stack items
What probably happened was that this error blocked autovacuum from
completing an anti-wraparound vacuum :-(
[ checks code... ] This appears to indicate a corrupted btree index.
I don't believe we've ever heard of this error occurring in the field
before, so it might be interesting to inquire into exactly what happened
to the index --- but if you just want to get out of trouble I'd suggest
* VACUUM VERBOSE as superuser.
Watch the output to determine which table it fails on.
* REINDEX that table.
* VACUUM VERBOSE again.
This should solve the problem fairly painlessly as long as the
corrupted index isn't on a system catalog. If it is, see the
man page for REINDEX about how to recover.
I'm not sure if vacuuming will get your data back at this point,
but it's certainly worth a try.
Somewhere in here you should think about moving to a more modern
Postgres release. 8.1 and later wouldn't have let you keep going
to the point of wraparound with a critical problem like this.
regards, tom lane