Brian Hirt wrote:
> I got an error doing a vacuum analyze on one of our table:
>
> MSG: 7 (S1000): ERROR: simple_heap_update: tuple concurrently updated
>
> does anyone know what this means, and more importantly... should i be
> worried about this?
>
Are you by chance running analyze concurrently?
At
http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/analyze.c?r1=1.12&sortby=log
I see this:
Revision 1.42 / (download) - annotate - [select for diffs] , Sun Aug 11
00:08:48 2002 UTC (15 months, 1 week ago) by tgl
Changes since 1.41: +13 -10 lines
Diff to previous 1.41 to selected 1.12
Now that we allow ANALYZE to run inside a transaction block, the locks
it takes could be held for quite awhile after the analyze step completes.
Rethink locking of pg_statistic in light of this fact. The original
scheme took an exclusive lock on pg_statistic, which was okay when the
lock could be expected to be released shortly, but that doesn't hold
anymore. Back off to a normal writer's lock (RowExclusiveLock). This
allows concurrent ANALYZE of nonoverlapping sets of tables, at the price
that concurrent ANALYZEs of the same table may fail with 'tuple
concurrently updated'.
HTH,
Joe