ERROR: tuple concurrently updated

Started by Russell Smithover 19 years ago3 messagesgeneral
Jump to latest
#1Russell Smith
mr-russ@pws.com.au

Hello,

I got this error the other day, I was under the impression that vacuum could get a concurrently updated tuple. I could be 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

Thanks

Russell Smith

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Russell Smith (#1)
Re: ERROR: tuple concurrently updated

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 could be 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

#3Russell Smith
mr-russ@pws.com.au
In reply to: Tom Lane (#2)
Re: ERROR: tuple concurrently updated

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 could be 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

Show quoted text

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

http://archives.postgresql.org/