Re: [GENERAL] Shell script to extract a table from a plain text dump - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: [GENERAL] Shell script to extract a table from a plain text dump
Date
Msg-id 20051007141721.GD5175@surnet.cl
Whole thread Raw
In response to Re: [GENERAL] Shell script to extract a table from a plain text dump  (Martijn van Oosterhout <kleptog@svana.org>)
List pgsql-hackers
On Fri, Oct 07, 2005 at 11:36:27AM +0200, Martijn van Oosterhout wrote:
> On Fri, Oct 07, 2005 at 04:46:12PM +0800, Christopher Kings-Lynne wrote:
> > If you have huge plain text dumps, and just want to restore one table
> > it's usually painful.  Attached is a small shell script that can take a
> > plain text dump and extract a single table's COPY data commands from it.
> >
> > If people think it's interesting and should be developed, I can pop it
> > on pgfoundry or something.
>
> Hmm, what I usually use is:
>
> bzcat $file | sed -ne "/^COPY \"$table\" /,/^\\\.\$/p"
>
> However, error checking and wrapping it into a script is a good idea.
> If it got given a couple of switches to control the output, maybe we
> can have a pg_restore for text dumps :)

If only the text dump could have a TOC, by means of which it would be
possible to seek to the exact position of the dump that has a table's
dump, it would certainly be useful.  Otherwise, you need to read the
whole file anyway, which is bad.  Of course, if it's compressed then
there's not much you can do.

--
Alvaro Herrera                 http://www.amazon.com/gp/registry/CTMLCN8V17R4
"Los dioses no protegen a los insensatos.  Éstos reciben protección de
otros insensatos mejor dotados" (Luis Wu, Mundo Anillo)

pgsql-hackers by date:

Previous
From: Emil Briggs
Date:
Subject: Re: Some spinlock patch tests
Next
From: Robert Treat
Date:
Subject: Re: Vote needed: revert beta2 changes or not?