Re: Error: heap_mark4update: (am)invalid tid - Mailing list pgsql-general

From Tom Lane
Subject Re: Error: heap_mark4update: (am)invalid tid
Date
Msg-id 8437.1044309015@sss.pgh.pa.us
Whole thread Raw
In response to Error: heap_mark4update: (am)invalid tid  ("Steve Wolfe" <nw@codon.com>)
List pgsql-general
"Steve Wolfe" <nw@codon.com> writes:
>   I'm receiving an error message that I'm not sure how to resolve:
> heap_mark4update: (am)invalid tid .  The offending query is:

> "update a set active = 'f' where a.expires < 'now' and a.active = 't' and
> a.cart_id = b.cart_id"

Hmm ... a plain UPDATE doesn't invoke heap_mark4update.  Do you have any
foreign keys involved here?

>   The error is a bit inconsistent.  Doing a select with the saem criteria
> will work fine - but the select gives a few more rows in the result than
> the update will when it works.  Often (but not always), vacuuming both
> tables a and b will get the update to work - but again, not always.

So once the error happens, it's persistent?  That's pretty interesting.
I'd have expected it to depend on concurrent activity ...

> If this is a
> known issue, I'd love to hear the workaround.

AFAIK there is no known cause for this in 7.3.*.

            regards, tom lane

pgsql-general by date:

Previous
From: "Patric Bechtel"
Date:
Subject: Re: 335 times faster (!) [Viruschecked]
Next
From: Mikael Carneholm
Date:
Subject: Re: What is the benefit of schemas?