pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: David Fetter <david@fetter.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@postgreSQL.org
Subject: Re: Possible TODO item: copy to/from pipe
Date: Wed, 31 May 2006 08:28:33 -0700
Message-ID: <20060531152832.GB27220@fetter.org> (raw)
In-Reply-To: <12436.1149087794@sss.pgh.pa.us>
References: <12436.1149087794@sss.pgh.pa.us>

On Wed, May 31, 2006 at 11:03:14AM -0400, Tom Lane wrote:
> After re-reading what I just wrote to Andreas about how compression
> of COPY data would be better done outside the backend than inside,
> it struck me that we are missing a feature that's fairly common in
> Unix programs.  Perhaps COPY ought to have the ability to pipe its
> output to a shell command, or read input from a shell command.
> Maybe something like
> 
> 	COPY mytable TO '| gzip >/home/tgl/mytable.dump.gz';

That's a great syntax :)

Similarly,

COPY mytable FROM 'create_sample_data --table mytable --rows 10000000 |';

would be cool.

> (I'm not wedded to the above syntax, it's just an off-the-cuff
> thought.)

It will be familiar to Perl users, for better or worse.  Come to that,
should the prefixes > and >> also mean their corresponding shell
things?

> Of course psql would need the same capability, since the server-side
> copy would still be restricted to superusers.

Roight.

> You can accomplish COPY piping now through psql, but it's a bit awkward:
> 
> 	psql -c "COPY mytable TO stdout" mydb | gzip ...
> 
> Thoughts?  Is this worth doing, or is the psql -c approach good enough?

I think it's worth doing :)

Cheers,
D
-- 
David Fetter <david@fetter.org> http://fetter.org/
phone: +1 415 235 3778        AIM: dfetter666
                              Skype: davidfetter

Remember to vote!



view thread (36+ messages)  latest in thread

Message-ID: <20060531152832.GB27220@fetter.org>
Permalink:  ../20060531152832.GB27220@fetter.org/
Also on:    postgresql.org/message-id/20060531152832.GB27220@fetter.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: david@fetter.org, tgl@sss.pgh.pa.us
  Subject: Re: Possible TODO item: copy to/from pipe
  In-Reply-To: <20060531152832.GB27220@fetter.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox