Re: Repairing bad table?
От | Tom Lane |
---|---|
Тема | Re: Repairing bad table? |
Дата | |
Msg-id | 4291.987178674@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Repairing bad table? (Steve Wampler <swampler@noao.edu>) |
Список | pgsql-general |
Steve Wampler <swampler@noao.edu> writes: > I need help - I've had a system crash that has left a table with some > invalid OIDs. How do I clean this up? If I try a vacuum analyze, > I get: > configdb=# vacuum analyze; > NOTICE: Rel attributes_table: TID 3304/23: OID IS INVALID. TUPGONE 1. > NOTICE: Rel attributes_table: TID 3304/28: OID IS INVALID. TUPGONE 1. > NOTICE: Rel attributes_table: TID 3304/31: OID IS INVALID. TUPGONE 1. > NOTICE: Rel attributes_table: TID 3304/33: OID IS INVALID. TUPGONE 1. > NOTICE: Rel attributes_table: TID 3304/40: OID IS INVALID. TUPGONE 1. > NOTICE: Rel attributes_table: TID 3304/41: OID IS INVALID. TUPGONE 1. > NOTICE: Rel attributes_table: TID 3304/77: OID IS INVALID. TUPGONE 1. > FATAL 1: Memory exhausted in AllocSetAlloc() Try not doing "analyze" --- the most likely cause of the FATAL message is that the system is trying to copy some damaged column value that claims to be ridiculously wide. If nothing else helps, you could manually zero block 3304 of the table, sacrificing those rows to get back the rest of your data. dd(1) should work for this, I think, but be sure to shut down the postmaster while hacking directly on data files. [NB: these are 8K blocks (unless you changed BLCKSZ) and the file starts with block zero.] regards, tom lane
В списке pgsql-general по дате отправления: