Re: WIP patch: add (PRE|POST)PROCESSOR options to COPY
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Alvaro Herrera <alvherre@2ndquadrant.com>, Simon Riggs <simon@2ndquadrant.com>, Fujii Masao <masao.fujii@gmail.com>, Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>, Craig Ringer <ringerc@ringerc.id.au>, pgsql-hackers@postgresql.org
Date: 2012-11-14T19:22:11Z
Lists: pgsql-hackers
On 11/14/2012 02:05 PM, Peter Eisentraut wrote: > On 11/14/12 11:50 AM, Andrew Dunstan wrote: >>> COPY table FROM 'some command line |'; >>> COPY table TO '| some command line'; >>> >> >> I'd like to be able to filter STDIN if possible - with this syntax how >> is COPY going to know to hook up STDIN to the program? > Why don't you filter the data before it gets to stdin? Some program is > feeding the data to "stdin" on the client side. Why doesn't that do the > filtering? I don't see a large advantage in having the data be sent > unfiltered to the server and having the server do the filtering. Centralization of processing would be one obvious reason. I don't really see why the same reasoning doesn't apply on the backend. You could just preprocess the input before calling COPY (via a plperlu function for example). If we're going to have filtering functionality then it should be as general as possible, ISTM. But I seem to be alone in this, so I won't push it. cheers andrew