On 21/07/11 01:59, david.sahag...@emc.com wrote:
> From May 31, 2006; 12:03pm . . .
> 
> "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';
> 
> Is such a feature (ie being able to tell postgres to write a compressed file 
> via COPY TO) being worked on ?

Not that I've heard of.

In addition to the hint given about using copy to stdout from a "psql
-c" invocation, there is another option. You can create a named pipe
(fifo) file node and use COPY TO to write to it. eg:

$ mkfifo gzfifo; gzip < gzfifo > out.gz &
$ psql -c "COPY tablename TO '/server/path/to/gzfifo';"

gzip will automatically terminate when the output file is closed. The
fifo will not be removed and can be re-used.

Supporting COPY to a pipe would be interesting, though the security
implications would need plenty of thought.

--
Craig Ringer

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to