Greg Sabino Mullane wrote:
> I'm encountering some disconcerting problems on a 8.1.3 database.
> Very occasionally, I get a "could not open relation with OID xxx".
> This always occurs inside of a plpgsql function, and always refers
> to a normal, stable table that has not been dropped. The first
> time this occured, I reindexed the system indexes, but it has occured
> again, and on more than one database, which seems to lessen the chance
> of a hardware issue or a temporary index corruption issue. The functions
> in question are called many times, but the error only happens once in
> a blue moon. The last time it happened, the function ran with no problem
> one minute before the error, and again four minutes afterwards. The
> table name is hard-coded into the functions. This happens on average
> five times a day or so, on a very busy database (> 10M statements/day,
> the functions fire tens of thousands of times)
Well, if the error "fixed by itself" four minutes after the failure,
then it's not likely to be a corrupted index. My first guess would be
that there's some kind of race condition on the relcache or the sinval
It would help if you could get a stack trace at the moment of the
problem, but I'm not sure how to do that. Maybe cause the backend to
send a SIGSTOP to itself and then have an external program to quickly
launch GDB on it and get a backtrace, then send a SIGCONT.
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
In response to
pgsql-hackers by date
|Next:||From: Chris Browne||Date: 2006-12-20 18:38:26|
|Subject: Re: Release 8.2.0 done, 8.3 development starts|
|Previous:||From: Jeff Davis||Date: 2006-12-20 18:21:57|
|Subject: Re: Rare corruption of pg_class index|