From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | John Lister <john(dot)lister-ps(at)kickstone(dot)com> |
Cc: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: [ADMIN] database corruption help |
Date: | 2009-02-12 22:13:03 |
Message-ID: | 17764.1234476783@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin pgsql-hackers |
John Lister <john(dot)lister-ps(at)kickstone(dot)com> writes:
> GMT LOG: relation "pg_class" TID 15538/4: dead HOT-updated tuple ---
> cannot shrink relation
Hmm. The comments in vacuum.c about this case suppose that it could
only be a transient condition, ie the tuple became dead while we were
looking at the page. Evidently it's persistent for you, which means
that for some reason heap_page_prune() is failing to remove an
already-dead tuple. I suspect this implies a corrupt HOT chain, but
maybe the data is okay and what you've got is really a bug in
heap_page_prune.
Could you send a dump of page 15538 of pg_class, using pg_filedump?
The source code for it is here:
http://sources.redhat.com/rhdb/utilities.html
Best would be -i -f format, ie
pg_filedump -i -f -R 15538 $PGDATA/base/something/1259
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | John Lister | 2009-02-13 08:20:03 | Database corruption help |
Previous Message | Ceriel Jacobs | 2009-02-12 22:10:03 | Stop postgres writing to pgstat.tmp :: how disable / to verify that postgres statistics are correctly disabled |
From | Date | Subject | |
---|---|---|---|
Next Message | Mark Roberts | 2009-02-12 22:19:01 | Re: Good Delimiter for copy command |
Previous Message | John Lister | 2009-02-12 21:45:35 | Re: database corruption help |