Re: PostgreSQL “tuple already updated by self”

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: SG <combatcode(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: PostgreSQL “tuple already updated by self”
Date: 2018-05-23 00:13:32
Message-ID: 20180523001332.GB3461@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, May 22, 2018 at 09:17:15AM -0400, Robert Haas wrote:
> Another interesting question is how the system got into this state in
> the first place, of course. Was it a bug, or did you do something
> that corrupted the database?

Perhaps a side effect which has been fixed in d2599ecf for 9.6.9?
The thing is that pruning chains broken by bugs like freeze-the-dead
could remain undetected for some time. On top of that autovacuum does
not check after duplicated OIDs registered when building the list, and
executes each table in its own transaction, so an autoanalyze would not
have seen the issue, still it was doing twice the work. One thing could
be to run diagnostic checks on all system catalogs (pg_catcheck can
help here).
--
Michael

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2018-05-23 00:17:18 Re: Time to put context diffs in the grave
Previous Message Michael Paquier 2018-05-23 00:00:40 Re: Fix some error handling for read() and errno