Thread: ERROR: tuple concurrently updated

ERROR: tuple concurrently updated

From
Russell Smith
Date:
Hello,

I got this error the other day, I was under the impression that vacuum could get a concurrently updated tuple.  I could
bewrong.  It is possible for somebody to quickly explain this situation?  Message follows; 

vacuumdb: vacuuming of table "school.person" in database "sqlfilter" failed: ERROR:  tuple concurrently updated


Thanks

Russell Smith


Re: ERROR: tuple concurrently updated

From
Tom Lane
Date:
Russell Smith <mr-russ@pws.com.au> writes:
> I got this error the other day, I was under the impression that vacuum could get a concurrently updated tuple.  I
couldbe wrong.  It is possible for somebody to quickly explain this situation?  Message follows; 

> vacuumdb: vacuuming of table "school.person" in database "sqlfilter" failed: ERROR:  tuple concurrently updated

Was this a VACUUM ANALYZE, and if so might there have been another
ANALYZE running concurrently on that table?  If so, this is just a
reflection of concurrent attempts to update the same pg_statistic
row.  It's harmless since the ANALYZE that didn't fail presumably
stored pretty nearly the same results.  There is some interlocking
to prevent the error in CVS HEAD, though.

            regards, tom lane

Re: ERROR: tuple concurrently updated

From
Russell Smith
Date:
Tom Lane wrote:
> Russell Smith <mr-russ@pws.com.au> writes:
>
>> I got this error the other day, I was under the impression that vacuum could get a concurrently updated tuple.  I
couldbe wrong.  It is possible for somebody to quickly explain this situation?  Message follows; 
>>
>
>
>> vacuumdb: vacuuming of table "school.person" in database "sqlfilter" failed: ERROR:  tuple concurrently updated
>>
>
> Was this a VACUUM ANALYZE, and if so might there have been another
> ANALYZE running concurrently on that table?  If so, this is just a
> reflection of concurrent attempts to update the same pg_statistic
> row.  It's harmless since the ANALYZE that didn't fail presumably
> stored pretty nearly the same results.  There is some interlocking
> to prevent the error in CVS HEAD, though.
>
Thanks Tom, that makes a lot on sense.  There is an analyze in that.
Plus 8.1 autovac probably got its hand in at the same time.  I didn't
expect it to give the error about the vacuumed table if pg_statistic was
the table having the concurrent update.  I will remember that for the
future.  Thanks again for the fast and concise response.

Russell Smith
>             regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>                http://archives.postgresql.org/
>
>
>