Re: [HACKERS] Finding corrupt data

From: Ed Loehr <ELOEHR(at)austin(dot)rr(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Matthew Hagerty <matthew(at)venux(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] Finding corrupt data
Date: 1999-12-16 08:05:18
Message-ID: 38589D3E.40C8174@austin.rr.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:

> > If there was corrupt data in a table, how would one go about finding it?
>
> The brute-force way is to do a SELECT * or COPY TO and see if the
> backend survives ;-). If not, narrowing down which record is bad
> is left as an exercise for the student...

One RDBMS I used had a utility called 'dbcheck' which did some sort of
examination of indices, tables, etc., and issued an 'OK' or 'CORRUPT' for
each examined object. Such a utility for pgsql might simply do some
combination of SELECT * or COPY TO as you suggest above.

Would it be reasonable to put such a tool make its way onto the todo list, in
the absence of better alternatives? I'd argue it's important for pgsql's
future popular prospects to be able to be _operated_ (i.e., live dbs backed
up, diagnosed as corrupted, and restored) by folks who may know very little
about the internals or the design of the schema/code. Quick and correct
diagnosis of the problem is the key for them. Such a tool would seem to go a
long way toward that end.

Cheers,
Ed Loehr

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Zeugswetter Andreas SB 1999-12-16 08:30:23 AW: AW: [HACKERS] SELECT ... AS ... names in WHERE/GROUP BY/HAVIN G
Previous Message Tom Lane 1999-12-16 07:04:53 Re: [HACKERS] "ExecInitIndexScan: both left and right..." meaning?