Brian McCane <bmccane@mccons.net> writes:
> Well I never heard back from anyone about how to debug this thing,
> so I did a pg_ctl stop/start cycle this morning. Then I tried to re-run
> the "VACUUM FULL". No dice, it still gets the same error. Any ideas now?
> It sounds like this is the perfect test case for someone to debug this
> issue in the vacuum code, but I would need some assistance figuring out
> what I need to do.
Oh, excellent! No one's ever seen that trouble survive a restart AFAIK.
Now we have a shot at finding the problem.
If you want to try debugging it yourself, set a breakpoint at elog and
then trace back through the vacuum code to see why it's getting fooled.
But I really think you'd be better off letting a more experienced
developer have access to your machine; the code in question is IMHO
one of the most obscure, difficult-to-follow parts of Postgres.
Do you have enough disk space to temporarily make a second copy of your
$PGDATA tree? If so, it'd be possible to make a spare copy in a playpen
account, and then you need only grant access to the playpen account not
to your running installation.
I'm willing to look at this if you'll grant me access. Let me know.
regards, tom lane