Re: COPY TO '|gzip > /my/cool/file.gz'

Поиск
Список
Период
Сортировка
От Craig Ringer
Тема Re: COPY TO '|gzip > /my/cool/file.gz'
Дата
Msg-id 4E279CE1.2040006@postnewspapers.com.au
обсуждение исходный текст
Ответ на COPY TO '|gzip > /my/cool/file.gz'  (<david.sahagian@emc.com>)
Список pgsql-general
On 21/07/11 01:59, david.sahagian@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

В списке pgsql-general по дате отправления:

Предыдущее
От: Craig Ringer
Дата:
Сообщение: Re: compile postgres with visual studio 2010
Следующее
От: Craig Ringer
Дата:
Сообщение: Re: Book