Re: ERROR: attempted to delete invisible tuple

From: Greg Stark <gsstark(at)mit(dot)edu>
To: Bryan Murphy <bmurphy1976(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: ERROR: attempted to delete invisible tuple
Date: 2009-08-17 16:35:23
Message-ID: 407d949e0908170935l791cec3cr5b106be61b4c46b3@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Aug 17, 2009 at 4:23 PM, Bryan Murphy<bmurphy1976(at)gmail(dot)com> wrote:
>  I've identified 82 bad records.  When I try to query for the records,
> we get the following:
> ERROR:  missing chunk number 0 for toast value 25692661 in pg_toast_25497233
> That's fine.  I've run into that in a few other tables and have just been
> deleting the offending records.  However, in this particular table, when I
> try and delete the records, I get the following error message:
> ERROR:  attempted to delete invisible tuple
> I'm at a loss what to do next.

Can you select xmin,xmax,ctid from the bad tuples?

And also the output of pg_resetxlog -n. I suspect you may have failed
to restore properly and have tuples from the "future" in your
database. Perhaps you're missing at the last WAL file in your
recovery?

If that's the case you may be able to get out of it with pg_resetxlog
and then cleaning up but it would be good to see the data first before
changing things.

--
greg
http://mit.edu/~gsstark/resume.pdf

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alvaro Herrera 2009-08-17 16:41:27 Re: binary timestamp conversion
Previous Message Chris Bowlby 2009-08-17 16:22:42 pg_autovacuum exceptions question