Re: Recovering data via raw table and field separators

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: John Wells <jb(at)sourceillustrated(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Recovering data via raw table and field separators
Date: 2007-12-04 18:58:54
Message-ID: 20071204185854.GC19536@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Dec 04, 2007 at 03:38:16PM -0300, Alvaro Herrera wrote:
> > So is it simply field width? Can one count the number of bytes based
> > on native datatype length and determine field start/end?
>
> Yes. For variable length types, there is a 4-byte length word at the
> start of the field (unless you are using 8.3 which introduces more
> compact representations in some cases).

And NULLs are skipped entirely. They are represented in the null-bitmap
at the beginning of the tuple.

What sometimes works is creating a new table with the exact same
structure, shutting down the postmaster and copying the old table over
the new one. If it's the same cluster and the clog/xlog are still there
it might work.

Have a nice day,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> Those who make peaceful revolution impossible will make violent revolution inevitable.
> -- John F Kennedy

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Daniel Schuchardt 2007-12-04 19:07:50 bug with >to_char('2007-12-31'::DATE, 'YYYYIW')<
Previous Message Alvaro Herrera 2007-12-04 18:38:16 Re: Recovering data via raw table and field separators