Stefan Kaltenbrunner <stefan@kaltenbrunner.cc> writes:
> maybe the following buildfarm report means that we need a new theory :-(
> http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=sponge&dt=2006-08-16%2021:30:02
Vacuum's always had a race condition: it makes a list of rel OIDs and
then tries to vacuum each one. It narrows the window for failure by
doing a SearchSysCacheExists test before relation_open, but there's
still a window for failure.
The rel in question is most likely a temp rel of another backend,
because sanity_check is running by itself and so there shouldn't
be anything else happening except perhaps some other session's
post-disconnect cleanup. Maybe we could put the check for "is
this a temp rel of another relation" into the initial list-making
step instead of waiting till after relation_open. That doesn't
seem to solve the general problem though.
regards, tom lane